docker 镜像加速器
国内各大云服务商(腾讯云、阿里云、百度云等)均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
例如:
- 阿里云镜像文档 容器镜像服务
- 网易云镜像文档
https://hub-mirror.c.163.com
- 百度云镜像文档
https://mirror.baidubce.com
- 腾讯云镜像文档
https://ccr.ccs.tencentyun.com
镜像源配置
目前主流 Linux 发行版均已使用 systemd 进行服务管理,这里介绍如何在使用 systemd 的 Linux 发行版中配置镜像加速器。
请首先执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。
sh
systemctl cat docker | grep '\-\-registry\-mirror'
如果该命令有输出,那么请执行 systemctl cat docker
查看 ExecStart=
出现的位置,修改对应的文件内容去掉 --registry-mirror
参数及其值,并按接下来的步骤进行配置。
如果以上命令没有任何输出,那么就可以在 /etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件):
json
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://mirror.baidubce.com"
],
"insecure-registries":[
"http://hub-mirror.c.163.com"
]
}
注意
可以添加多个源 以防止其中一个宕机 一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互式就会有错误。http服务则需要填写到insecure-registries
下面。
重新启动服务。
sh
sudo systemctl daemon-reload
sudo systemctl restart docker
检查加速器是否生效
执行 docker info
,如果从结果中看到了如下内容,说明配置成功。
sh
Registry Mirrors:
http://hub-mirror.c.163.com
使用docker pull
命令拉取软件,只要能够正常拉取就是有效的,否则就是无效的。
sh
docker pull dockerproxy.com/library/nginx:latest
docker pull hub-mirror.c.163.com/library/nginx:latest
docker pull mirror.baidubce.com/library/nginx:latest
使用time
进行测速
sh
time docker pull nginx:latest