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

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/1547.html

(0)
mantoumantou
上一篇 2025年9月8日
下一篇 2025年10月5日

相关推荐

  • virtualizor安装并对接whmcs

    前提 almalinux8或者centos7都可以直接照抄,我是一直用的almalinux8 开始 首先更个新 yum update -y 然后开个心 单押skr echo “15…

    2025年4月25日
  • Windows11开启官方BBR支持

    Windows11开启官方BBR支持,以下命令如果报错或者提示参数不存在等问题,均是因为你系统版本不够高,命令用管理员PowerShell执行。开启BBR支持: netsh int…

    2023年3月20日
  • 给别人发送图片获取别人IP小技巧

    只需要用到cloudflare 把域名解析到機子上,套上cflare 防火牆規則添加 完整uri包含自己域名 ,動作 封鎖 域名後面隨便寫一個路徑,用來識別對方,比如https:/…

    2021年4月4日
  • WordPress 2款简单的 WordPress 全站限制访问插件

    今天要介绍的这两款插件都可以实现让你的博客完全私有化,也就是说没有账户的访客只能看到登录页面。为什么有人想把博客完全私密划呢?1、只想记录给自己看的博客;2、某些内部使用的网站;3…

    2024年8月7日
  • linux综合脚本集成器

    这 Bash 脚本用于监测服务器的网络流量使用情况,并根据预设的阈值进行操作。它首先显示当前的接收和发送流量,然后询问用户是否设置流量阈值。用户可以选择设置阈值,并输入所需的阈值(…

    2024年4月29日
  • VPS路由线路去回程测试及线路分辨

    前言 路由线路分为去程和回程,去程和回程也许并不一样,所以准确的线路测试应该分别测试去程和回程; 并且有些服务商提供的线路在国内不同区域也许并不一致,复杂的网络环境就需要自己去慢慢…

    代码程序 2021年4月3日
  • Linux reinstall:一款功能强大的服务器系统DD一键重装脚本

    项目地址,欢迎 star:https://github.com/leitbogioro/Tools 萌咖的一键重装脚本近期经过更新,已经支持 Debian 11/Ubuntu 20…

    代码程序 2022年11月8日
  • VPS修改完dns后resolv.conf总是被重置?

    介绍 出于不同的需要,我们有的时候需要对Linux的dns进行修改,那一般情况下我们都会对/etc/resolv.conf这个文件进行修改,可是过一段时间,或者机器重启后,机器还会…

    2025年5月4日
  • Google cloud抢占式自动开机方法

    抢占式实例会自动关机是硬伤,大概3~5天会被关机,刚研究了一下,发现有一个东西叫实例时间表,这个东西可以自定义实例什么时间开机和关机,创建个时间表让他每小时开机一次抢占式实例就行了…

    2024年9月2日
  • 教你灵活解除网页操作限制

    前言 下午帮客户分析某文学登陆业务中,发现有页面禁用了网页右键,非常影响调试,平时遇到这种情况通常都是JS即可,但是网上查阅了资料后发现用控制台调节更灵活一些,毕竟禁用 JS 可能…

    代码程序 2021年4月30日

发表回复

登录后才能评论