解决Docker的Errorresponsefromdaemon报错
事件原因
昨天公司的开发同学跟我说,使用docker pull拉取镜像时一直报错,报错信息如下:
创新互联建站作为成都网站建设公司,专注成都网站建设、网站设计,有关成都企业网站定制方案、改版、费用等问题,行业涉及玻璃贴膜等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
# docker pull dockerhub.daguan.com/ceshi/data_test:18.12.13.1153
Error response from daemon: manifest for dockerhub.daguan.com/ceshi/data_test:18.12.13.1153 not found
我开始在自己的Mac本上进行拉取镜像测试,发现是可以正常拉取的!
报错原因
经过尝试,查看系统messages信息,发现是网络问题,如下:
Dec 20 11:13:46 dockertest dockerd: time="2018-12-20T11:13:46.498227008+08:00"
level=error msg="failed removing service binding for xxxxxx epRec:{rec_priv_indexing.1.xxxx rec_priv_indexing xxxxxx 192.168.246.171 192.168.246.250
[] [indexing] [xxxxxx]} err:network xxxxxxxx not found"
说明:上面无关信息我已经xxxx忽略掉了~
后来想起来,公司的dockerhub库平台之前被迁移过,域名解析IP更改过!
处理报错
尝试修改/etc/hosts强制docker.io相关的域名解析到其它可用IP。
vim /etc/hosts
添加一个可用IP:
110.200.19.34 dockerhub.daguan.com //请更改成自己的IP和域名
保存之后重试,已恢复正常!
扩展学习
如出现下面"timeout"报错信息,也可以尝试上面的修复方法,如下:
Error response from daemon: Get https://index.docker.io/v1/users/: dial tcp: lookup index.docker.io on 192.168.65.1:53: read udp 192.168.65.2:58812->192.168.65.1:53: i/o timeout
或:
如果使用上面的方法即修改/etc/hosts
,没有效果,请更改下自己电脑上Docker subnet
网段,如下:
在上图中,我们看到192.168.65.1
网段出现了问题,那么我们更改下Docker subnet 为192.168.66.0
,重启docker即可!
或者是:
[root@archlinux quanxj]# docker image pull library/hello-world
Using default tag: latest
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
error pulling image configuration: Get https://registry-1.docker.io/v2/library/hello-world/blobs/sha256:f2a91732366c0332ccd7afd2a5c4ff2b9af81f549370f7a19acd460f87686bc7: dial tcp 35.169.231.249:443: i/o timeout
参考文档
解决Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/
当前名称:解决Docker的Errorresponsefromdaemon报错
分享路径:http://myzitong.com/article/gdopop.html