Skip to content

Instantly share code, notes, and snippets.

@y0ngb1n
Last active March 10, 2025 07:16
Show Gist options
  • Save y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6 to your computer and use it in GitHub Desktop.
Save y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6 to your computer and use it in GitHub Desktop.
国内的 Docker Hub 镜像加速器,由国内教育机构与各大云服务商提供的镜像加速服务 | Dockerized 实践 https://github.com/y0ngb1n/dockerized

Docker Hub 镜像加速器

国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。

Dockerized 实践 https://github.com/y0ngb1n/dockerized

1️⃣ Docker daemon 配置代理(推荐)

参考 Docker daemon 配置代理

2️⃣ 自建镜像加速服务

3️⃣ 国内三方加速镜像

⚠️⚠️⚠️ 自 2024-06-06 开始,国内的 Docker Hub 镜像加速器相继停止服务,可选择为 Docker daemon 配置代理或自建镜像加速服务。


Ubuntu 16.04+、Debian 8+、CentOS 7+

创建或修改 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker Hub 镜像加速器列表

Docker 官方和国内很多云服务商都提供了国内加速器服务。以下镜像站来源于互联网(感谢热心网友),可能出现宕机、转内网、关停等情况,建议同时配置多个镜像源。

镜像加速器 镜像加速器地址 专属加速器 其它加速
Docker 中国官方镜像 https://registry.docker-cn.com Docker Hub已关闭
DaoCloud 镜像站 https://docker.m.daocloud.io 白名单模式 Docker Hub、GCR、K8S、GHCR、Quay、NVCR 等
Azure 中国镜像  https://dockerhub.azk8s.cn 仅供内部访问 Docker Hub、GCR、Quay
科大镜像站 https://docker.mirrors.ustc.edu.cn 仅供内部访问 Docker HubGCRQuay
阿里云 https://<your_code>.mirror.aliyuncs.com 需登录,系统分配 Docker Hub
七牛云 https://reg-mirror.qiniu.com Docker Hub、GCR、Quay
网易云 https://hub-mirror.c.163.com Docker Hub
腾讯云 https://mirror.ccs.tencentyun.com 仅供内部访问 Docker Hub
Docker 镜像代理 https://dockerproxy.com Docker Hub、GCR、K8S、GHCR
百度云 https://mirror.baidubce.com Docker Hub
南京大学镜像站 https://docker.nju.edu.cn Docker Hub、GCR、GHCR、Quay、NVCR 等
上海交大镜像站 https://docker.mirrors.sjtug.sjtu.edu.cn Docker Hub、GCR 等已关闭
中科院软件所镜像站 https://mirror.iscas.ac.cn Docker Hub

⚠️ 部分网友反馈以下镜像站存在未同步最新源镜像问题,请按需选用(评论区可考古)

  • 阿里云

检查加速器是否生效

命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors:
 [...]
 https://docker.m.daocloud.io

Docker Hub 镜像测速

使用镜像前后,可使用 time 统计所花费的总时间。测速前先移除本地的镜像!

$ docker rmi node:latest
$ time docker pull node:latest
Pulling repository node
[...]

real   1m14.078s
user   0m0.176s
sys    0m0.120s

更新日志

2024.06.11
2024.06.06

感谢 @hangone 提供反馈

2024.01.10
  • 🚫 失效加速器
    • 网易云镜像

感谢网友 @joelhy @MalikWilliams1greher 的反馈

2023.12.21

感谢网友 @ApsarasX @snowdream 提供反馈

2023.06.19

感谢网友 @shadowofmoo 的反馈

2023.03.14

感谢网友 @msojocs 的反馈

2023.03.04
  • 🔒 已转为私有
    • 科大镜像站

感谢网友 @ionlz 的反馈

2023.02.22
  • 🆕 新增加速器
    • 百度云镜像
  • 🔒 已转为私有
    • Azure 中国镜像
    • 腾讯云镜像
  • 🚫 失效加速器
    • 七牛云镜像

感谢网友 @YiuTerran 的反馈


参考链接

@Anyexyz
Copy link

Anyexyz commented Feb 11, 2025

境内 Docker 镜像状态监控
https://status.anye.xyz

页面下方🌈Docker 镜像监测的所有网址,均为加速源
1Panel 使用方法:【容器】【配置】【镜像加速】
若"Cloudflare"标签的无法正常使用,可以尝试非"Cloudflare"标签的加速源。

@tonycody
Copy link

tonycody commented Feb 11, 2025 via email

@jklincn
Copy link

jklincn commented Feb 15, 2025

近期发现自己使用 cloudflare workers 部署的镜像无法正常使用,报错如下

error pulling image configuration: download failed after attempts=6: unknown: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidRequest</Code><Message>Missing x-amz-content-sha256</Message></Error>

看上去是因为 dockerhub 采用了 AWS S3 存储,现有中转代码无法正常处理请求头导致的。

我手动添加了 x-amz-content-sha256 后报错

error pulling image configuration: download failed after attempts=6: unknown: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidArgument</Code><Message>No date provided in x-amz-date nor date header</Message></Error>

继续手动添加 x-amz-date 后报错

error pulling image configuration: download failed after attempts=6: unknown: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidRequest</Code><Message>Please use AWS4-HMAC-SHA256</Message></Error>

这个 AWS4-HMAC-SHA256 貌似比较复杂,就没继续了。按我的理解,只是中转 pull 请求,请求头是原始的进行复制,应该不会有这些问题。

有人碰到一样的情况吗?应该如何解决?

目前 workers 代码:https://pastebin.com/AhmntZFY

@liuweiGL
Copy link

error pulling image configuration: download failed after attempts=6: unknown: InvalidRequestMissing x-amz-content-sha256

我也是卡在这里,mark 一下看看有没有大佬解决

@Zayrick
Copy link

Zayrick commented Feb 19, 2025

近期发现自己使用 cloudflare workers 部署的镜像无法正常使用,报错如下

error pulling image configuration: download failed after attempts=6: unknown: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidRequest</Code><Message>Missing x-amz-content-sha256</Message></Error>

看上去是因为 dockerhub 采用了 AWS S3 存储,现有中转代码无法正常处理请求头导致的。

我手动添加了 x-amz-content-sha256 后报错

error pulling image configuration: download failed after attempts=6: unknown: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidArgument</Code><Message>No date provided in x-amz-date nor date header</Message></Error>

继续手动添加 x-amz-date 后报错

error pulling image configuration: download failed after attempts=6: unknown: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidRequest</Code><Message>Please use AWS4-HMAC-SHA256</Message></Error>

这个 AWS4-HMAC-SHA256 貌似比较复杂,就没继续了。按我的理解,只是中转 pull 请求,请求头是原始的进行复制,应该不会有这些问题。

有人碰到一样的情况吗?应该如何解决?

目前 workers 代码:https://pastebin.com/AhmntZFY

为防止 Worker 自动跟随重定向时丢失关键请求头,所有代理请求均设置重定向策略为 manual就能解决这一问题,我的gist已经解决,需要可以直接拿去用https://gist.github.com/Mikihta/02ef56e193472f676650d7ac093b69d0

@jklincn
Copy link

jklincn commented Feb 20, 2025

@Mikihta 感谢,已解决。

@clxsh
Copy link

clxsh commented Feb 20, 2025

@fangyinc 感谢,还是你这个最好用

@devhaozi
Copy link

为防止 Worker 自动跟随重定向时丢失关键请求头,所有代理请求均设置重定向策略为 manual就能解决这一问题,我的gist已经解决,需要可以直接拿去用https://gist.github.com/Mikihta/02ef56e193472f676650d7ac093b69d0

设置为manual意味着不跟随重定向把重定向返回给客户端,等于没有加速效果了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment