新闻动态
新闻动态
NEWS INFORMATION

解决docker pull镜像报错的问题

发布日期:2021-12-23 17:20 | 文章来源:gibhub

描述:

在win10下安装VM,在VM里运行docker,使用docker pull拉取镜像时报错

一、

Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

原因:

使用docker pull 命令拉取镜像时,如果不添加额外的信息如docker pull nginx,则会默认镜像拉取地址为国外仓库,导致DNS解析超时。

解决办法:

1.)修改VM默认的DNS为8.8.8.8

2.)使用国内的镜像仓库拉取镜像

二、

Trying to pull repository docker.io/library/nginx ... Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

原因:

也是因为使用国外地址,导致http握手失败。

解决办法:

1.)每次拉取镜像时都手动指定国内仓库地址docker pull registry.docker-cn.com/library/nginx

2.)修改 /etc/docker/daemon.json 文件(把默认仓库地址修改为国内地址,省去每次都手动输入)

vim /etc/docker/daemon.json -> 写入
{ "registry-mirrors": ["https://registry.docker-cn.com"] }

最后,重启docker即可systemctl daemon-reload + systemctl restart docker

三、吐槽一下CSDN的markdown是真心难用,很多语法都不支持。

补充:解决docker pull镜像报错或者超时的方案,将拉取地址改为国内镜像仓库

docker默认镜像拉取地址为国外仓库下载速度较慢,甚至会报如下这种错误

Error response from daemon: Get https://docker.elastic.co/v2/: net/http: TLS handshake timeout

解决方法修改

/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。然后重启docker就可以了
{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

补充:解决docker在CentOS7下不能下载镜像timeout的问题

问题

昨天买了六个月阿里云服务器的学生机用来部署毕设环境,在鼓捣docker的时候出现问题,docker安装成功并且已经成功启动,如图

但在pull镜像的时候却出现超时无法下载镜像的问题,估计是国内docker官方镜像被墙了,网上找了好久发现要使用国内镜像加速,推荐的有Daocloud和阿里云,我使用的是Daocloud镜像加速,注册了账号之后上方会有一个镜像加速的超链接

点进去之后还有各种系统的脚本,用于添加国内镜像加速

运行脚本之后再执行pull操作,镜像成功下载

这时候执行docker images可以看到已下载的镜像

做个记录,以免时间久了会遗忘

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。如有错误或未考虑完全的地方,望不吝赐教。

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部