由于国内已经于2024年6月份锁紧了关于docker加速的消息,众多加速源已经通知不再提供加速服务,只能考虑自建加速。
nginx上新建一个域名,开启https后,再添加如下配置:
location / {
proxy_pass https://registry-1.docker.io; # Docker Hub 的官方镜像仓库
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;
# 对 upstream 状态码检查,实现 error_page 错误重定向
proxy_intercept_errors on;
# error_page 指令默认只检查了第一次后端返回的状态码,开启后可以跟随多次重定向。
recursive_error_pages on;
# 根据状态码执行对应操作,以下为301、302、307状态码都会触发
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;
}
}
访问域名出现 404 page not found ,表示服务搭建正常。
抓取镜像的时候,参考如下:
源抓取:
docker pull cnk3x/xunlei
加速后:
docker pull 111.com/cnk3x/xunlei
111.com换成自己搭建后的域名。
有效,感谢。