sep.cc 如涉及侵权内容,请联系 [email protected]

docker hub 自建镜像加速「可用」

在拉取镜像时发现之前使用的代理已经失效了,而且 auth.docker.io 也被墙,导致网上很多教程都失效了,搜索到一个可用的就写下来当作备忘录。

有两种自建方案,一个是 nginx 反代,一个是使用 CloudFlare Worker 搭建。

nginx:

location /v2/ {
   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;

   # 重写 www-authenticate 头为你的反代地址
   proxy_hide_header www-authenticate;
   add_header www-authenticate 'Bearer realm="https://xxx/token",service="registry.docker.io"' always;
   # always 参数确保该头部在返回 401 错误时无论什么情况下都会被添加。

   # 对 upstream 状态码检查,实现 error_page 错误重定向
   proxy_intercept_errors on;
   # error_page 指令默认只检查了第一次后端返回的状态码,开启后可以跟随多次重定向。
   recursive_error_pages on;
   # 根据状态码执行对应操作,以下为301、302、307状态码都会触发
   error_page 301 302 307 = @handle_redirect;

            }
   # 处理 Docker OAuth2 Token 认证请求
location /token {
   resolver 8.8.8.8 valid=600s;
   proxy_pass https://auth.docker.io;  # Docker 认证服务器

   # 设置请求头,确保转发正确
   proxy_set_header Host auth.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;

   # 传递 Authorization 头信息,获取 Token
   proxy_set_header Authorization $http_authorization;
   proxy_pass_header Authorization;

   # 禁用缓存
   proxy_buffering off;
            }
   location @handle_redirect {
   resolver 8.8.8.8;
   set $saved_redirect_location '$upstream_http_location';
   proxy_pass $saved_redirect_location;
            }

 

CloudFlare Worker:

https://github.com/cmliu/CF-Workers-docker.io

 

代码转载:https://blog.lty520.faith

最后编辑:2025年8月25日 22:27:53「本站部分内容具有时效性,如遇失效请留言反馈」

转载声明:本站所有内容采用 CC BY-NC-SA 国际许可协议,转载请注明来源:Sep blog,谢谢!

版权声明:如文章内容涉及侵权,请联系 [email protected],待查证属实之后会立刻删除侵权内容。

评论 (2)
  1. avatar
    沙发
    天天下载ttzip 2025-09-03 04:57

    很棒的网站!感谢分享,谢谢站长!!@天天下载

  2. avatar
    板凳
    obaby 2025-08-26 01:08

    哦吼,更新啦。
    现在 docker 也的确一言难尽。
    我一般用 1 毫秒的那个镜像地址。