用ref="/tag/2019/" style="color:#8B0506;font-weight:bold;">Docker的都知道,官方镜像源在国外,一拉镜像就卡得不行。尤其是在晚上高峰期,下载一个 nginx 镜像能让你怀疑人生。这时候,配置一个靠谱的国内镜像加速器,速度直接起飞。
为什么需要镜像加速?
国外服务器访问慢,镜像拉取动不动几十分钟,甚至超时失败。国内开发者常用的阿里云、腾讯云、网易云都提供了 Docker 镜像加速服务,原理就是把国外镜像缓存到国内节点,你从国内下,自然快得多。
如何配置国内镜像加速?
以最常见的阿里云为例,登录后进入容器镜像服务页面,系统会给你分配一个专属加速地址,比如 https://xxxx.mirror.aliyuncs.com。拿到这个地址后,修改 Docker 的配置文件就行。
编辑或创建 daemon.json 文件:
{
"registry-mirrors": [
"https://xxxx.mirror.aliyuncs.com"
]
}
这个文件在不同系统的路径不一样:
- Linux:/etc/docker/daemon.json
- Mac:通过 Docker Desktop 设置界面修改
- Windows:也是通过 Docker Desktop 的 Settings → Resources → WSL Integration 配置
改完后重启 Docker 服务:
sudo systemctl restart docker
然后执行 docker info,如果看到 Registry Mirrors 列出了你加的地址,说明生效了。
其他可用的加速地址
除了阿里云,还有几个稳定的选择:
- 腾讯云:https://mirror.ccs.tencentyun.com
- 网易云:https://hub-mirror.c.163.com
- 中科大:https://docker.mirrors.ustc.edu.cn
可以一次性加多个,Docker 会自动选可用的:
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://xxxx.mirror.aliyuncs.com"
]
}
有时候某个镜像站同步不及时,多配几个更保险。
实测效果对比
之前拉 mysql:5.7,等了将近 8 分钟。配上阿里云加速后,不到 1 分钟就下完了。日常开发中频繁构建、拉镜像,省下的时间够喝两杯咖啡了。
如果你还在裸连 Docker Hub,赶紧配个镜像加速吧,几分钟的事,体验提升巨大。