Skip to content

Instantly share code, notes, and snippets.

@y0ngb1n
Last active November 23, 2024 17:52
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 的反馈


参考链接

@snailcoder
Copy link

只能开代理了,WTF!!

@devhaozi
Copy link

devhaozi commented Jun 14, 2024

image image 现在是配置了也没有什么用啊

使用以下镜像,你配置的那些都不可用了。
docker.1panel.live -- 1Panel 面板提供(推荐)
hub.rat.dev -- 耗子面板提供
docker.m.daocloud.io -- DaoCloud 提供(限速+排队)
ccr.ccs.tencentyun.com -- 腾讯云提供(版本较旧)
ustc-edu-cn.mirror.aliyuncs.com -- 阿里云提供(版本非常旧2022年)

@Numbero
Copy link

Numbero commented Jun 15, 2024

你们开代理这个正常吗? image

这是因为之前安装docker的时候手动通过apt添加了docker.com的源,因此apt update会受影响

需要手动对apt设置代理
#在/etc/apt/apt.conf.d/目录下新建proxy.conf文件 Acquire::http::Proxy "http://proxy_host:proxy_port/"; Acquire::https::Proxy "http://proxy_host:proxy_port/";

之后再试一下sudo apt update

@hengtong320
Copy link

如果您当前有正在运行的容器不方便重启Docker服务时,则不用设置环境也可以直接使用,用法示例:

docker pull hub.uuuadc.top/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名。

配置里的域名是我最近自建的镜像加速。 hub.uuuadc.top 最新可用

请问有搭建教程吗?
我看到公众号发的一篇使用cf加速的
https://mp.weixin.qq.com/s/gVP04sJpt8d0LLMNgquPGQ

感谢! 实测好用!点赞

@yanxin152133
Copy link

proxy.conf

感谢

@dongyubin
Copy link

DockerHub国内镜像源列表

此列表只收录无需限定条件的DockerHub镜像源,感谢这些公益服务者。

2024年6月18日 亲测可用

DockerHub镜像仓库 镜像加速器地址
Docker镜像加速站 https://hub.uuuadc.top/
docker.1panel.live
hub.rat.dev
DockerHub 镜像加速代理 https://docker.anyhub.us.kg
https://docker.chenby.cn
https://dockerhub.jobcher.com/
镜像使用说明 https://dockerhub.icu
Docker镜像加速站 https://docker.ckyl.me
镜像使用说明 https://docker.awsl9527.cn
镜像使用说明 https://docker.hpcloud.cloud
AtomHub 可信镜像仓库平台 (只包含基础镜像,共336个) https://atomhub.openatom.cn
DaoCloud 镜像站 https://docker.m.daocloud.io

使用教程

  1. 为了加速镜像拉取,使用以下命令设置registry mirror

支持系统:Ubuntu 16.04+、Debian 8+、CentOS 7+

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 使用DockerHub Proxy,以下以 hub.uuuadc.top 为例:可以根据列表自行替换
docker pull hub.uuuadc.top/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名

原文链接:https://www.wangdu.site/course/2109.html

@davincilll
Copy link

有无Ubuntu系统国内可用的docker安装命令,现在docker官网提供的安装命令完全无法使用
搞这一出真的是没话说

@yanxin152133
Copy link

有无Ubuntu系统国内可用的docker安装命令,现在docker官网提供的安装命令完全无法使用 搞这一出真的是没话说
apt设置代理吧
https://gist.github.com/wonderbeyond/3448c2f281062d61716efa1d8083a102

@hahahhuang
Copy link

DockerHub国内镜像源列表

此列表只收录无需限定条件的DockerHub镜像源,感谢这些公益服务者。

2024年6月18日 亲测可用

DockerHub镜像仓库 镜像加速器地址
Docker镜像加速站 https://hub.uuuadc.top/
docker.1panel.live
hub.rat.dev
DockerHub 镜像加速代理 https://docker.anyhub.us.kg
https://docker.chenby.cn
https://dockerhub.jobcher.com/
镜像使用说明 https://dockerhub.icu
Docker镜像加速站 https://docker.ckyl.me
镜像使用说明 https://docker.awsl9527.cn
镜像使用说明 https://docker.hpcloud.cloud
AtomHub 可信镜像仓库平台 (只包含基础镜像,共336个) https://atomhub.openatom.cn
DaoCloud 镜像站 https://docker.m.daocloud.io

使用教程

  1. 为了加速镜像拉取,使用以下命令设置registry mirror

支持系统:Ubuntu 16.04+、Debian 8+、CentOS 7+

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 使用DockerHub Proxy,以下以 hub.uuuadc.top 为例:可以根据列表自行替换
docker pull hub.uuuadc.top/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名

原文链接:https://www.wangdu.site/course/2109.html

多谢,可以使用

@ikrong
Copy link

ikrong commented Jun 20, 2024

有阿里云的话,可以开通阿里云镜像服务个人实例,然后克隆这个仓库,很容易将镜像同步到阿里云个人实例中,然后使用起来就会快很多

https://github.com/ikrong/sync-docker-image

不过限制是阿里云个人实例最多只能同步300个镜像仓库,不过每个仓库不限标签

@nadirvishun
Copy link

nadirvishun commented Jun 20, 2024

有无Ubuntu系统国内可用的docker安装命令,现在docker官网提供的安装命令完全无法使用 搞这一出真的是没话说

刚用这个可以:Ubuntu Docker 安装,科大的。

@whg517
Copy link

whg517 commented Jun 20, 2024

提供一种生产环境可选方式

内网环境可以通过 sonatype 或者 harbor 搭建私有注册服务器,然后在私有注册服务上配置隧道代理,让私有注册服务通过隧道代理缓存外部镜像。这么做即可以减少容器运行时配置隧道代理复杂性,可以在后续使用中从本地私有注册服务中获取镜像,内网使用速度更快,而且可以保证本地镜像重用。

两种工具都提供多样的部署策略,如本地化部署,docker 方式,和 k8s 方式。

在部署复杂度方面, harbor 依赖 redis 和 postgres ,对于运维能力要求较高。sonatype 可以使用内嵌本地数据库,在部署时记得做好数据备份。

相关链接:

方案组合:

  • dockerhub --> proxy --> docker daemon
  • dockerhub --> cloudflare --> docker daemon
  • dockerhub --> cloudflare --> nexus-rm --> docker daemon
  • dockerhub --> proxy --> nexus-rm --> docker daemon
  • 其他组合

使用私服和不使用私服最大的区别就是是否在本地环境缓存一份远程镜像。在使用私服的情况下,即使断网或者代理不通,依然可以在内网环境继续使用已经缓存了的镜像,还有就是命中已经缓存的镜像在内网速度更快。

提供一种服务器快捷部署特定梯子的方式

xtls 是一个功能强大的代理软件,当你有代理服务时,可以通过容器化的方式在服务器部署客户端,供内网其他程序使用。

x-base: &default-config
  restart: unless-stopped
  ulimits:
    nproc: 65535
    nofile:
      soft: 20000
      hard: 40000
  stop_grace_period: 1m
  logging:
    driver: json-file
    options:
      max-size: '100m'
      max-file: '1'
  mem_swappiness: 0

services:
  v2ray:
    image: teddysun/xray
    container_name: xray
    <<: *default-config
    ports:
      - 1080:1080
      - 1081:1081
    volumes:
      - ${PWD}/config.json:/etc/xray/config.json

networks:
  default:
    external: true
    name: other

旨在扩展大家的思路,提供不同的思路解决问题。并不一定符合大多数人,请自行判断。

最后建议大家在使用社区提供的镜像加速时,额外关注镜像安全方面的问题,尽可能使用可信的镜像,特别是在生产环境中。因为大多数使用 docker 都是以特权模式运行,在其他容器运行时环境中的特定需求中也会使用特权模式运行容器。如果容器存在漏洞后门,或者植入挖矿脚本,会带来风险性问题。

@shilohooo
Copy link

有无Ubuntu系统国内可用的docker安装命令,现在docker官网提供的安装命令完全无法使用 搞这一出真的是没话说

下载好 get-docker.sh 脚本,然后按中科大的安装方式来就行
https://mirrors.ustc.edu.cn/help/docker-ce.html

@FPG-Alan
Copy link

DockerHub国内镜像源列表

此列表只收录无需限定条件的DockerHub镜像源,感谢这些公益服务者。

2024年6月18日 亲测可用

DockerHub镜像仓库 镜像加速器地址
Docker镜像加速站 https://hub.uuuadc.top/
docker.1panel.live
hub.rat.dev
DockerHub 镜像加速代理 https://docker.anyhub.us.kg
https://docker.chenby.cn
https://dockerhub.jobcher.com/
镜像使用说明 https://dockerhub.icu
Docker镜像加速站 https://docker.ckyl.me
镜像使用说明 https://docker.awsl9527.cn
镜像使用说明 https://docker.hpcloud.cloud
AtomHub 可信镜像仓库平台 (只包含基础镜像,共336个) https://atomhub.openatom.cn
DaoCloud 镜像站 https://docker.m.daocloud.io

使用教程

  1. 为了加速镜像拉取,使用以下命令设置registry mirror

支持系统:Ubuntu 16.04+、Debian 8+、CentOS 7+

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 使用DockerHub Proxy,以下以 hub.uuuadc.top 为例:可以根据列表自行替换
docker pull hub.uuuadc.top/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名

原文链接:https://www.wangdu.site/course/2109.html

https://hub.uuuadc.top/ 似乎失效了

@sky22333
Copy link

sky22333 commented Jun 26, 2024

DockerHub国内镜像源列表

此列表只收录无需限定条件的DockerHub镜像源,感谢这些公益服务者。
2024年6月18日 亲测可用
DockerHub镜像仓库 镜像加速器地址
Docker镜像加速站 https://hub.uuuadc.top/
docker.1panel.live
hub.rat.dev
DockerHub 镜像加速代理 https://docker.anyhub.us.kg
https://docker.chenby.cn
https://dockerhub.jobcher.com/
镜像使用说明 https://dockerhub.icu
Docker镜像加速站 https://docker.ckyl.me
镜像使用说明 https://docker.awsl9527.cn
镜像使用说明 https://docker.hpcloud.cloud
AtomHub 可信镜像仓库平台 (只包含基础镜像,共336个) https://atomhub.openatom.cn
DaoCloud 镜像站 https://docker.m.daocloud.io

使用教程

  1. 为了加速镜像拉取,使用以下命令设置registry mirror

支持系统:Ubuntu 16.04+、Debian 8+、CentOS 7+

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 使用DockerHub Proxy,以下以 hub.uuuadc.top 为例:可以根据列表自行替换
docker pull hub.uuuadc.top/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名
原文链接:https://www.wangdu.site/course/2109.html

https://hub.uuuadc.top/ 似乎失效了

这个好像恢复了,可以用

@chwit
Copy link

chwit commented Jun 28, 2024

大佬们,用 daocloud 拉下来的 ubuntu:jammy-20220421镜像, 与dockerhub里的 sha256对不上,这正常吗?

@haohetao
Copy link

大佬们,用 daocloud 拉下来的 ubuntu:jammy-20220421镜像, 与dockerhub里的 sha256对不上,这正常吗?

daocloud我拉下来的镜像也不对,竟然是两年前的,所以最好不要用daocloud,我刚测试,这些可以用
docker.1panel.live #美国
docker.anyhub.us.kg #美国
docker.chenby.cn #香港
dockerhub.jobcher.com #美国
docker.awsl9527.cn #香港
docker.hpcloud.cloud #美国
dockerhub.icu #香港

@LET19
Copy link

LET19 commented Jun 29, 2024

阿里云的镜像服务是个坑,很多镜像都不是最新的

+1

@taotaoyouyou
Copy link

建议还是自建,公用的不稳定还有可能出现未知的问题,不如直接设置代理,从官方拉取

@image72
Copy link

image72 commented Jul 2, 2024

我最担心因为各种dockerhub mirror出现, 在2015年的 xcode ghost事件重现

@LET19
Copy link

LET19 commented Jul 2, 2024

建议还是自建,公用的不稳定还有可能出现未知的问题,不如直接设置代理,从官方拉取

是的

@DreamerLx
Copy link

牛逼,必须来夸一下

@zhongyimingkao
Copy link

牛逼!

@Jeiwen-Su
Copy link

DockerHub国内镜像源列表

此列表只收录无需限定条件的DockerHub镜像源,感谢这些公益服务者。

2024年6月18日 亲测可用

DockerHub镜像仓库 镜像加速器地址
Docker镜像加速站 https://hub.uuuadc.top/
docker.1panel.live
hub.rat.dev
DockerHub 镜像加速代理 https://docker.anyhub.us.kg
https://docker.chenby.cn
https://dockerhub.jobcher.com/
镜像使用说明 https://dockerhub.icu
Docker镜像加速站 https://docker.ckyl.me
镜像使用说明 https://docker.awsl9527.cn
镜像使用说明 https://docker.hpcloud.cloud
AtomHub 可信镜像仓库平台 (只包含基础镜像,共336个) https://atomhub.openatom.cn
DaoCloud 镜像站 https://docker.m.daocloud.io

使用教程

  1. 为了加速镜像拉取,使用以下命令设置registry mirror

支持系统:Ubuntu 16.04+、Debian 8+、CentOS 7+

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 使用DockerHub Proxy,以下以 hub.uuuadc.top 为例:可以根据列表自行替换
docker pull hub.uuuadc.top/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名

原文链接:https://www.wangdu.site/course/2109.html

这方法可行,大佬牛叉,帮了我大忙,谢谢了。

@wyxls
Copy link

wyxls commented Jul 28, 2024

这里附上纯镜像加速的registry部署compose,有需要可以参考一下

version: '3.3'
services:
  registry:
    image: registry:2.8.2
    container_name: registry
    restart: unless-stopped
    ports:
      - 49998:49998
    volumes:
      - /volume1/docker/registry/auth:/auth
      - /volume1/docker/registry:/var/lib/registry
    environment:
      - TZ=Asia/Shanghai
      - HTTPS_PROXY=http://192.168.9.2:7893
      - HTTP_PROXY=http://192.168.9.2:7893
      - "REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io"
      - REGISTRY_HTTP_ADDR=0.0.0.0:49998
      - REGISTRY_STORAGE_DELETE_ENABLED:true
      # 可以用httpd生成认证文件, 然后挂到对应路径使用, 这里为纯加速所以注释掉了
      # - "REGISTRY_AUTH=htpasswd"
      # - "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"
      # - REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
    network_mode: bridge

这个官方的registry如果要配置成https访问的话,在加上http base auth之后,会提示认证错误而加速pull失败,需要取消掉认证机制才能正常走远程代理仓库加速,但是个人用加速会用上自己的代理,公网被扫到的话就会被白嫖代理流量,目前我还没找到方法解决,希望有大佬能支个招

如果想要加上认证的话,原来拉取镜像只需要docker pull hello-world,现在就变成只能手动docker login然后指定仓库域名去pull,使用的时候不方便还要重新改成原来的tag,比如拉取library/hello-world就需要

docker pull hub.domain.com/library/hello-world
docker tag hub.domain.com/library/hello-world hello-world

@tonycody
Copy link

tonycody commented Jul 28, 2024 via email

@xclidongbo
Copy link

truenas scale的k3s,一个也不能用。

@yangguoandresolution
Copy link

现在还有好用的代理吗, 都封啦, 最后连docker.m.daocloud.io今天也不能用啦, 只能自己做吗

@dongyubin
Copy link

现在还有好用的代理吗, 都封啦, 最后连docker.m.daocloud.io今天也不能用啦, 只能自己做吗

我整理了一些可以用的国内DockerHub镜像加速器:https://www.wangdu.site/course/2109.html

@wgzhao
Copy link

wgzhao commented Aug 1, 2024

https://docker.rainbond.cc/ 目前还有效

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