安装Docker/Docker Desktop后,其registry server是默认指向https://hub.docker.com的。因众所周知的远呀,在国内该hub源访问速度异常慢,为了解决这个问题,一些国内的公司和组织提供了 Docker 镜像的国内镜像源,
Docker Hub 镜像源
提供商 | 公共镜像 | 私有镜像 |
---|---|---|
网易云 | hub-mirror.c.163.com | |
百度云 | mirror.baidubce.com | |
腾讯云 | ccr.ccs.tencentyun.com | |
Docker Proxy | dockerproxy.com | |
华为云 | 你的ID.mirror.swr.myhuaweicloud.com | https://{你的ID}.mirror.swr.myhuaweicloud.com |
阿里云 | 你的ID.mirror.aliyuncs.com | http://{你的ID}.mirror.aliyuncs.com |
PS.阿里云需要自行创建专属镜像仓库https://cr.console.aliyun.com/
修改配置
修改daemon.json,增加或者修改以下配置:
{
"registry-mirrors": [
"https://dockerproxy.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
"https://docker.m.daocloud.io",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
重新加载daemon
systemctl daemon-reload
systemctl restart docker.service
Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互式就会有错误。http服务则需要填写到insecure-registries
下面。
配置文件所在位置:
- Linux:
/etc/docker/daemon.json
- Windows:
%USERPROFILE%\.docker\daemon.json
或者%programdata%\Docker\config\daemon.json
- MacOS:
~/.docker/daemon.json
如果使用的Docker Desktop,只需要在配置界面找到Docker Engine
选项,修改之后然后点击Apply & Restart
按钮,即可生效。在此修改等同于直接修改daemon.json文件。
检查配置是否生效
输入以下命令:
docker info
如果从结果中看到了如下类似的内容,说明配置成功:
Registry Mirrors:
https://hub-mirror.c.163.com/
测试源镜像是否有效
使用docker pull
命令拉取软件,只要能够正常拉取就是有效的,否则就是无效的。
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
docker pull ccr.ccs.tencentyun.com/library/nginx:latest
docker pull 1nj0zren.mirror.aliyuncs.com/library/nginx:latest
docker pull 05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com/library/nginx:latest
源镜像测速
Linux
在Linux下面有time
命令,可以使用该命令对源进行测速:
time docker pull nginx:latest
测速结果大致如下:
real 1m14.078s
user 0m0.176s
sys 0m0.120s
Windows
在Windows的PowerShell下面可以使用以下命令测速:
Measure-Command {docker pull nginx:latest | Out-Default}
测速结果大致如下:
Days : 0
Hours : 0
Minutes : 0
Seconds : 4
Milliseconds : 217
Ticks : 42174202
TotalDays : 4.88127337962963E-05
TotalHours : 0.00117150561111111
TotalMinutes : 0.0702903366666667
TotalSeconds : 4.2174202
TotalMilliseconds : 4217.4202