Docker配置阿里云镜像加速pull的实现

(编辑:jimmy 日期: 2024/12/23 浏览:2)

今天使用docker拉取镜像,那速度简直不能看,而且等着等着到最后还出现了

read tcp 192.168.31.60:55550->104.18.123.25:443: read: connection reset by peer

传输异常

然后看见网上说可以配置阿里云提供的镜像加速

具体方式

进入阿里云的容器镜像服务

快速链接: 容器镜像服务

复制加速器的地址

Docker配置阿里云镜像加速pull的实现

在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入

  {
   "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
  }

地址为第2步你在阿里云网站上复制的地址

重启daemon

systemctl daemon-reload

重启docker服务

systemctl restart docker

完成,测试了一下,pull飞速,舒服。。。。

补充知识:Docker 从阿里云pull/push 镜像

登录阿里云docker registry:

$ sudo docker login --username=mqmw147@163.com registry.cn-hangzhou.aliyuncs.com

登录registry的用户名是您的阿里云账号全名,密码是您开通服务时设置的密码。

你可以在镜像管理首页点击右上角按钮修改docker login密码。

从registry中拉取镜像:

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/qz/nginx-vim:[镜像版本号]

将镜像推送到registry:

$ sudo docker login --username=mqmw147@163.com registry.cn-hangzhou.aliyuncs.com

$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/qz/nginx-vim:[镜像版本号]

$ sudo docker push registry.cn-hangzhou.aliyuncs.com/qz/nginx-vim:[镜像版本号]

其中[ImageId],[镜像版本号]请你根据自己的镜像信息进行填写。

注意您的网络环境

从ECS推送镜像时,可以选择走内网,速度将大大提升,并且将不会损耗您的公网流量。

如果您申请的机器是在经典网络,请使用 registry-internal.cn-hangzhou.aliyuncs.com 作为registry的域名登录, 并作为镜像名空间前缀

如果您申请的机器是在vpc网络的,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为registry的域名登录, 并作为镜像名空间前缀

sample:

使用docker tag重命名镜像,并将它通过私网ip推送至registry:

$ sudo docker images

REPOSITORY                             TAG         IMAGE ID      CREATED       VIRTUAL SIZE
registry.aliyuncs.com/acs/agent                  0.7-dfb6816     37bb9c63c8b2    7 days ago     37.89 MB

$ sudo docker tag 37bb9c63c8b2 registry..aliyuncs.com/acs/agent:0.7-dfb6816

通过docker images 找到您的imageId 并对于改imageId重命名镜像domain到registry内网地址。

$ sudo docker push registry..aliyuncs.com/acs/agent

以上这篇Docker配置阿里云镜像加速pull的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。