Skip to content

Instantly share code, notes, and snippets.

@y0ngb1n
Last active June 22, 2024 08:25
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

Docker daemon 配置代理

参考 Docker daemon 配置代理

自建镜像加速服务

国内三方加速镜像

⚠️⚠️⚠️ 自 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 Hub、GCRQuay
阿里云 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 的反馈


参考链接

@DuckDeng
Copy link

DuckDeng commented Jun 8, 2024

南京大学镜像无法使用了
https://doc.nju.edu.cn/books/35f4a/page/docker-hub
image

@Steven52065
Copy link

救救 还有什么方法吗 开代理也不行

自己建个镜像喽
代理要设置在systemctl上,在终端设置环境变量没用
可以参考https://cloud.tencent.com/developer/article/2296763

@yaming116
Copy link

yaming116 commented Jun 8, 2024

可以利用 github action 把镜像同步到国内阿里云或其他云
项目链接地址,在原项目基础增加了群机器人通知 :

https://github.com/yaming116/docker-pull-proxy

新增docker hub 镜像搭建方式支持 cf 和 海外主机

详细教程可以看这里:
https://mp.weixin.qq.com/s/2DAeKY2bYCTTxFHIJnJrig

@yaming116
Copy link

再分享以为勇士的共享代理
gcr.io   >>>>>   gcr.chenby.cn
quay.io   >>>>>   quay.chenby.cn
ghcr.io   >>>>>   ghcr.chenby.cn
docker.io   >>>>>   docker.chenby.cn
k8s.gcr.io   >>>>>   k8s.chenby.cn
registry.k8s.io   >>>>>   k8s.chenby.cn

@Hunt3rKun
Copy link

救救 还有什么方法吗 开代理也不行

自己建个镜像喽 代理要设置在systemctl上,在终端设置环境变量没用 可以参考https://cloud.tencent.com/developer/article/2296763

OKOK 谢谢佬

@tiam-bloom
Copy link

还有国内可用的吗? 我一直以为我网络有问题服了

@sidneychang
Copy link

在阿里云的服务器上怎么才能拉取镜像呢?

@Steven52065
Copy link

在阿里云的服务器上怎么才能拉取镜像呢?

阿里云有内网的镜像源吧

@CodePrometheus
Copy link

"registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com"
  ]

@LeileiChui
Copy link

南京大学镜像无法使用了 https://doc.nju.edu.cn/books/35f4a/page/docker-hub image

南京大学公告已删除,这里是备份 接上级部门通知,即刻关闭 Docker Hub 缓存镜像服务

@pleasewhy
Copy link

用梯子加速吧,这些源都不好用
https://www.lfhacks.com/tech/pull-docker-images-behind-proxy/

@paopao-mtf
Copy link

这几个镜像源还可以用
Registry Mirrors:
https://ustc-edu-cn.mirror.aliyuncs.com/
https://ccr.ccs.tencentyun.com/
https://docker.m.daocloud.io/
测速结果
docker.io/library/node:latest
real 0m 39.05s
user 0m 0.08s
sys 0m 0.10s

@OminousBlackCat
Copy link

换各种镜像源试了好久基本全寄,没想到在国内拉个镜像都这么困难了,看来服务器需要常备代理了

@taotaoyouyou
Copy link

怪不得搞学术的都往外跑

@yanxin152133
Copy link

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

@Steven52065
Copy link

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

apt 的镜像应该没封吧
换国内源试试?

@yanxin152133
Copy link

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

apt 的镜像应该没封吧 换国内源试试?

腾讯云服务器
image

@yidasanqian
Copy link

@gtress
Copy link

gtress commented Jun 11, 2024

dockerproxy.com 无法访问了。

好像还可以访问到? image

请问你有用代理吗?我不开代理的确是无法访问。浏览器显示 dockerproxy.com unexpectedly closed the connection.

列表上的全试了一遍,全挂,国内开始监管了,还是常备代理吧。

中科院的可以

不行 全挂

@la3rence
Copy link

这就是中国!

@JavanTang
Copy link

真累,阿里云似乎也不行!

@sea2333
Copy link

sea2333 commented Jun 12, 2024

这个镜像可以用:https://atomhub.openatom.cn/

@JavanTang
Copy link

这个镜像可以用:https://atomhub.openatom.cn/

image 似乎不全,vllm能加入上去吗?

@luomoxu
Copy link

luomoxu commented Jun 12, 2024

这个镜像可以用:atomhub.openatom.cn

这个算不上一个hub.docker.com的镜像 只包含了336个镜像

@sea2333
Copy link

sea2333 commented Jun 12, 2024

这个镜像可以用:atomhub.openatom.cn

这个算不上一个hub.docker.com的镜像 只包含了336个镜像

嗯嗯 我理解有误 这个只包含一些基础镜像,只是这里面刚好有我需要的node18镜像

@needhourger
Copy link

ustc也无了
图片

@sky22333
Copy link

sky22333 commented Jun 12, 2024

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

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

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

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

@devhaozi
Copy link

docker.1panel.live -- 1Panel 面板提供(推荐)
hub.rat.dev -- 耗子面板提供
docker.m.daocloud.io -- DaoCloud 提供(限速+排队)
ccr.ccs.tencentyun.com -- 腾讯云提供(版本较旧)
ustc-edu-cn.mirror.aliyuncs.com -- 阿里云提供(版本较旧)

@brighill
Copy link

分享一下自建镜像仓库代理&缓存服务,支持(gcr.io、quay.io、nvcr.io、docker.io、ghcr.io、registry.k8s.io)
https://github.com/brighill/registry-mirror

@flinzhao
Copy link

用梯子加速吧,这些源都不好用 https://www.lfhacks.com/tech/pull-docker-images-behind-proxy/

🙋‍赞同!

@Flipped199
Copy link

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

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

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

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

感谢 目前可用

@dong9205
Copy link

只要思想不滑坡,办法总比困难多.

@thrillePX
Copy link

大佬牛掰

@uioprr
Copy link

uioprr commented Jun 14, 2024

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

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

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

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

请问有搭建教程吗?

@miss55
Copy link

miss55 commented Jun 14, 2024

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

@dong9205
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

@taotaoyouyou
Copy link

建议还是直接在docker.service里设置代理,用官方镜像

@xuqiuye
Copy link

xuqiuye commented Jun 14, 2024

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

@fire180
Copy link

fire180 commented Jun 14, 2024

2024/6/14 这个表格,只剩下daocloud可以用,其他统统完蛋了。

@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

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