最简单的docker-hub镜像加速方式使用宝塔+Nginx代理

境外服务器一台、域名一个、需要配置SSL证书(必须要配置使用宝塔免费申请即可)

版本一

   # 用于 Docker 代理服务
    location /v2/ {
        proxy_pass https://registry-1.docker.io;  
        proxy_set_header Host registry-1.docker.io;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;               
        proxy_buffering off;
        proxy_set_header Authorization $http_authorization;
        proxy_pass_header  Authorization;
        proxy_intercept_errors on;
        recursive_error_pages on;
        error_page 301 302 307 = @handle_redirect;
    }

    location @handle_redirect {
        resolver 1.1.1.1;
        set $saved_redirect_location '$upstream_http_location';
        proxy_pass $saved_redirect_location;
    }
    # 用于 Docker 代理服务

版本二 增加超时时间,推荐使用这个,超时时间可以适当修改长一点

   # 用于 Docker 代理服务
    location /v2/ {
        proxy_pass https://registry-1.docker.io;
        proxy_set_header Host registry-1.docker.io;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_http_version 1.1;
        proxy_read_timeout 3600s;  # 设置读取超时时间为 1 小时
        proxy_send_timeout 3600s;  # 设置发送超时时间为 1 小时
        send_timeout 3600s;  # 设置发送超时时间为 1 小时
        proxy_connect_timeout 3600s;  # 设置连接超时时间为 1 小时
        proxy_set_header Authorization $http_authorization;
        proxy_pass_header Authorization;
        proxy_intercept_errors on;
        recursive_error_pages on;
        error_page 301 302 307 = @handle_redirect;
    }

    location @handle_redirect {
        resolver 1.1.1.1;
        set $saved_redirect_location '$upstream_http_location';
        proxy_pass $saved_redirect_location;
    }
   # 用于 Docker 代理服务

最好改一下nginx链接超时时间改长一点

 

如果没安装docker

ubuntu一键安装docker最新版脚本

bash <(wget -qO- giie.cn/sh/docker-ubuntu.sh)

如果没安装docker用一键脚本安装的不用操作下面两步 直接输入加入域名然后重启Docker服务开始测试即可

配置镜像加速,如果你不是用的一键脚本安装就手动配置一下

sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["改成你的域名"]
}
EOF

重启Docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

拉取一个Docker镜像以测试配置是否生效:

docker run hello-world
免责声明:
1:如非特殊说明,本站对提供的素材及源码不拥有任何权利,其版权归原著者拥有。
2:本站内容均由互联网收集整理、网友上传,并且以技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3:本站部分收费内容仅作本站日常维护费用,若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4:请勿将源码、软件进行商业交易、转载等行为,源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。
5:站内资源如有侵犯你版权的,请来信1058364519@qq.com指出,本站将立即改正。
6:素材源码均为网络收集,不承担任何版权问题,不提供任何技术支持!
7:严重警告本站木屋模型、木屋CAD图纸、木屋效果图未经允许不得转载:凡木屋模型及CAD文章由设计师QINYUHUI设计制作,享有内容所有权,文章仅在QINYUHUI名下网站、信息平台或嘿很有内涵微博发布,未经授权违者必究!!!

MASUC » 最简单的docker-hub镜像加速方式使用宝塔+Nginx代理