现在Docker 服务已经正常运行,我们接下来配置++国内 Docker 镜像加速器++ ,解决 docker pull nginx 访问 Docker Hub 超时的问题。
先提醒一下:国内很多早期 Docker 镜像加速站已经关闭,不能再把网上收集的十几个地址全部填进去。建议先测试,再配置一个能正常访问的地址
第一步:测试镜像加速地址
先尝试 DaoCloud 的公开镜像代理:
curl -I --connect-timeout 10 https://docker.m.daocloud.io/v2/
判断结果:
-
200 OK:服务正常响应。 -
401 Unauthorized:也说明 Registry 接口正常响应,通常是正常现象。 -
Could not resolve host:DNS 解析失败。 -
Connection timed out:网络连接超时。
注意:接口能响应不代表一定能成功拉取镜像,还需要实际测试。
第二步:备份 Docker 配置
如果第一步测试返回 200 或 401,执行:
cp /etc/docker/daemon.json /etc/docker/daemon.json.bak
第三步:配置国内镜像加速器
执行:
vim /etc/docker/daemon.json
把文件内容替换为:
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
保存退出:
Esc
:wq
回车
这里先只配置一个地址,避免某个无效地址导致 Docker 启动失败。
第四步:重启 Docker
依次执行:
systemctl daemon-reload
systemctl restart docker
查看状态:
systemctl status docker
确保显示:
Active: active (running)
第五步:检查加速器是否生效
执行:
docker info
找到:
Registry Mirrors:
https://docker.m.daocloud.io/
如果显示了这个地址,说明 Docker 已经读取了加速器配置。
第六步:测试拉取 Nginx
docker pull nginx
如果成功,再执行:
docker images
就能看到下载好的 Nginx 镜像。
如果你想使用阿里云加速器
也可以登录阿里云容器镜像服务控制台,获取属于自己的专属镜像加速地址,再配置到 daemon.json 中。不要直接使用网上随意复制的阿里云地址。
现在先执行第一步:
curl -I --connect-timeout 10 https://docker.m.daocloud.io/v2/