你有没有试过在公司服务器上拉一个 ref="/tag/2019/" style="color:#E3A3CF;font-weight:bold;">Docker 镜像,结果等了十分钟才下载了一半?旁边同事都部署完三个服务了,你的命令行还在那里慢悠悠地跑着 docker pull ubuntu。这时候真想把网线拔了重开。
其实这不是网络不行,而是默认的 Docker 镜像源在国外,访问起来就像高峰期挤地铁,又慢又卡。好在我们有个妙招——配置镜像加速器,让拉取速度直接起飞。
什么是镜像加速器?
简单说,就是在国内架设一些“缓存仓库”。当你请求一个海外镜像时,这些加速节点会提前帮你存一份,下次再拉取就从最近的节点拿,速度快得多。类似你在小区楼下超市买牛奶,总比开车去郊区大仓取货快吧。
常见镜像加速地址推荐
国内几家大厂都提供了免费的 Docker 镜像加速服务,稳定又不用注册:
- 阿里云:
https://<你的专属ID>.mirror.aliyuncs.com(需登录容器镜像服务获取) - 中科大:
https://docker.mirrors.ustc.edu.cn - 网易云:
http://hub-mirror.c.163.com - 腾讯云:
https://mirror.ccs.tencentyun.com
如何配置加速器?
最常用的办法是修改 Docker 的配置文件 daemon.json。这个文件一般在 /etc/docker/ 目录下。
先检查一下有没有这个文件:
ls /etc/docker/daemon.json
如果没有,就创建一个:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
]
}
EOF
保存后重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
重启完可以用这条命令看看是否生效:
sudo docker info | grep "Registry Mirrors" -A 2
如果看到你配置的地址列出来了,说明已经成功启用。
小贴士:别忘了权限问题
有时候改完配置重启失败,多半是因为 JSON 格式写错了,比如多了一个逗号或者漏了引号。可以用在线工具校验一下格式。另外确保文件权限正确:
sudo chmod 644 /etc/docker/daemon.json
还有些环境比如树莓派或旧版系统,可能路径不一样,但原理是一样的——找到 daemon.json 或启动参数加 --registry-mirror 就行。
我家那台老 NAS 装 Portainer 总是卡住,加上中科大的镜像源之后,几秒钟就拉完了。现在连我爸妈都知道:“你爸配了个‘加速’,机器变聪明了。”