国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。
Dockerized 实践 https://github.com/y0ngb1n/dockerized
⚠️ ⚠️ ⚠️ 自 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 官方和国内很多云服务商都提供了国内加速器服务。以下镜像站来源于互联网(感谢热心网友),可能出现宕机、转内网、关停等情况,建议同时配置多个镜像源。
镜像加速器 | 镜像加速器地址 | 专属加速器? | 其它加速? |
---|---|---|---|
https://registry.docker-cn.com |
|||
DaoCloud 镜像站 | https://docker.m.daocloud.io |
白名单模式 | |
Azure 中国镜像 | https://dockerhub.azk8s.cn |
仅供内部访问 | Docker Hub、GCR、Quay |
科大镜像站 | https://docker.mirrors.ustc.edu.cn |
仅供内部访问 | |
阿里云 | https://<your_code>.mirror.aliyuncs.com |
需登录,系统分配 | |
https://reg-mirror.qiniu.com |
|||
https://hub-mirror.c.163.com |
|||
腾讯云 | https://mirror.ccs.tencentyun.com |
仅供内部访问 | |
Docker 镜像代理 | https://dockerproxy.com |
Docker Hub、GCR、K8S、GHCR | |
百度云 | https://mirror.baidubce.com |
||
南京大学镜像站 | https://docker.nju.edu.cn |
||
https://docker.mirrors.sjtug.sjtu.edu.cn |
|||
中科院软件所镜像站 | https://mirror.iscas.ac.cn |
⚠️ 部分网友反馈以下镜像站存在未同步最新源镜像问题,请按需选用(评论区可考古)
- 阿里云
命令行执行 docker info
,如果从结果中看到了如下内容,说明配置成功。
Registry Mirrors:
[...]
https://docker.m.daocloud.io
使用镜像前后,可使用 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 提供反馈
- https://docs.docker.com/registry/recipes/mirror/
- https://github.com/yeasy/docker_practice/blob/master/install/mirror.md
- https://github.com/moby/moby/blob/d409b05970e686993e343d226fae5b463d872082/docs/articles/registry_mirror.md
- https://www.fengbohello.top/archives/docker-registry-mirror
- https://www.ilanni.com/?p=14534
- https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy
- https://moelove.info/2020/09/20/突破-DockerHub-限制全镜像加速服务/
提供一种生产环境可选方式
内网环境可以通过 sonatype 或者 harbor 搭建私有注册服务器,然后在私有注册服务上配置隧道代理,让私有注册服务通过隧道代理缓存外部镜像。这么做即可以减少容器运行时配置隧道代理复杂性,可以在后续使用中从本地私有注册服务中获取镜像,内网使用速度更快,而且可以保证本地镜像重用。
两种工具都提供多样的部署策略,如本地化部署,docker 方式,和 k8s 方式。
在部署复杂度方面, harbor 依赖 redis 和 postgres ,对于运维能力要求较高。sonatype 可以使用内嵌本地数据库,在部署时记得做好数据备份。
相关链接:
方案组合:
使用私服和不使用私服最大的区别就是是否在本地环境缓存一份远程镜像。在使用私服的情况下,即使断网或者代理不通,依然可以在内网环境继续使用已经缓存了的镜像,还有就是命中已经缓存的镜像在内网速度更快。
提供一种服务器快捷部署特定梯子的方式
xtls 是一个功能强大的代理软件,当你有代理服务时,可以通过容器化的方式在服务器部署客户端,供内网其他程序使用。
旨在扩展大家的思路,提供不同的思路解决问题。并不一定符合大多数人,请自行判断。
最后建议大家在使用社区提供的镜像加速时,额外关注镜像安全方面的问题,尽可能使用可信的镜像,特别是在生产环境中。因为大多数使用 docker 都是以特权模式运行,在其他容器运行时环境中的特定需求中也会使用特权模式运行容器。如果容器存在漏洞后门,或者植入挖矿脚本,会带来风险性问题。