Docker pull and login产生的timeout问题


学习环境:安装在VM linux centos8上的docker

第一次产生timeout问题是直接从dockerhub上pull images时候产生的timeout,当时觉得是连海外服务器所以导致了超时。后来找了很多办法,把所有厂的加速器都用了遍,包括docker自己提供的加速器,但是依旧没能解决。(这里加速器的使用已经有很多文章介绍过了,就不做累赘重复),以下是pull dockerhub上的images时报的error

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

然后想着那就从国内的阿里云上pull images吧,于是就尝试在bash上login我的阿里云账号。大概格式内,就是如下

sudo docker login --username=**你的阿里云用户名字** registry.cn-hangzhou.aliyuncs.com

然后又出现了timeout的问题

Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

最后找到了如下解决办法,亲测可行
1.创建阿里云加速器

vim /etc/docker/daemon.json

然后添加

{ 
#这里需要注意,你可以自己注册一个阿里云,然后点击下面的网址,获得你的镜像加速器地址
#https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
"registry-mirrors": ["https://srjy6zq4.mirror.aliyuncs.com"]
}

2.然后修改dns

sudo vim /etc/resolv.conf

然后把nameserver改为8.8.8.8
大致如下

search localdomain
nameserver 8.8.8.8
#nameserver 192.168.74.2
Logo

更多推荐