Docker 修改镜像源
在中国大陆使用 Docker 时,访问 Docker Hub 镜像仓库常常会遇到连接超时或速度极慢的问题。为了解决这个问题,我们可以配置 Docker 使用国内镜像加速器。
常用国内镜像源
| 镜像服务提供商 | 加速地址 |
|---|---|
| 阿里云 | https://{your-id}.mirror.aliyuncs.com |
| 网易云 | https://hub-mirror.c.163.com |
| 腾讯云 | https://mirror.ccs.tencentyun.com |
| 中科大 | https://docker.mirrors.ustc.edu.cn |
👉 推荐使用阿里云,登录后可以在 阿里云镜像加速页面 获取专属地址。(参考 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)
注意
⛔ 由于监管要求,国内很多 Docker Hub 镜像源被关停(包括上述镜像源),因此出现大面积 Docker 镜像拉取失败的问题!
报错如下:(不是镜像源配置没生效,而是镜像源不提供服务了 💥)
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
下面是几个经测试还可以使用的镜像源:
https://docker.m.daocloud.iohttps://docker.xuanyuan.mehttps://docker.1ms.run
配置镜像源
Linux/macOS:
编辑 Docker 配置文件(没有则创建):
sudo vi /etc/docker/daemon.json
加入如下内容(根据需要添加,可以添加多个):
/etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"registry.docker-cn.com"
]
}
然后重启 Docker 服务:
# 重新加载配置文件
sudo systemctl daemon-reexec
# 或
sudo systemctl daemon-reload
# 重启 docker 服务
sudo systemctl restart docker
Windows:
在 Docker Desktop 设置界面中,找到 “Daemon” 或 “Docker Engine” 选项,添加 "registry-mirrors" 配置即可。