Docker下载加速的原理是,在拉取镜像时使用一个国内的镜像站点,该站点已经缓存了各个版本的官方 Docker 镜像,这样就能够实现对 Docker 下载速度的优化。
当 Docker 在拉取镜像时,会尝试连接默认的官方仓库,但由于网络环境的不同,直接访问官方仓库的速度可能较慢导致下载时间过长。为了解决这个问题,开发者可以在客户端配置上述镜像站点,使得 Docker 也会去相应的镜像站点中查找需要的镜像,缩短 Docker 镜像的下载时间和提高下载速度。
这种方法大多数都是免费的,而且非常容易进行配置,用户只需要在 Docker 的配置文件中添加一行 registry-mirrors 设置即可。通常情况下,配置完成后再次执行镜像的拉取命令,就能够享受到更快的下载速度。因此,建议在使用 Docker 进行下载时加速设置,以提高效率。
方式1:使用 网易数帆容器镜像仓库进行下载。
例如,下载网易数帆镜像中的mysql。(网易数帆的地址为 hub.c.163.com
,网易数帆对dockerhub官方的镜像命名空间为 library
)。
docker pull hub.c.163.com/library/mysql:latest
方式2:配置阿里云加速。
登录阿里云,进入 工作台
-> 容器镜像服务
-> 镜像工具
-> 镜像加速器
。
里面提供了一个加速器地址:https://xxxxx.mirror.aliyuncs.com
,将该地址配置到docker中:
cd /etc/docker # 初次进来时没有/etc/docker/daemon.json文件,直接创建该文件即可 vi /etc/docker/daemon.json
在daemon.json
中写入以下内容:(即加速器地址)
{ "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"] }
第一步
第二步
第三步 复制加速器地址
方式3:
使用Daocloud等第三方免费Docker加速器服务,在注册之后获取服务网址,修改 /etc/docker/daemon.json 文件,添加如下内容:
{ "registry-mirrors": ["https://{username}:{password}@{hostname}"] }
其中,{username} 和 {password} 是您注册 Daocloud 服务时的用户名和密码;{hostname}是提供Daocloud服务的镜像站点主机名。
方式4:
通过修改docker.service文件来设置 --registry-mirror 参数。执行以下命令:
$ sudo systemctl edit docker # 输入以下内容 [Service] ExecStart= ExecStart=/usr/bin/dockerd --registry-mirror=https://xxxx.mirror.aliyuncs.com
注意,这种方式也需要用真实的阿里云加速器地址替换 https://xxxx.mirror.aliyuncs.com
部分。
结尾
以上四种方式任意一种都可以对 Docker 的镜像加速进行设置。
然后刷新配置、重启docker即可:
# centos6 的命令 sudo chkconfig daemon-reload sudo service docker restart # centos7 的命令 sudo systemctl daemon-reload sudo systemctl restart docker
注意
使用 方式2 可以直接下载官方的镜像,且镜像tag为官方tag,不需要加上云服务商的地址。
例如:
docker pull mysql:latest