最近想要系统的学习下docker,我用的是阿里云服务器,centOS7系统。敲docker search命令的时候,报错了。但是docker pull命令却ok。
[root@lishch-centos7-20220614 ~]# docker search centos
Error response from daemon: Get "https://index.docker.io/v1/search?q=centos&n=25": dial tcp 100.100.2.138:443: i/o timeout
[root@lishch-centos7-20220614 ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest
看报错的原因,应该是因为找不到index.docker.io的域名,最后通过在hosts文件里面配置域名解析,解决了。
- 先用dig命令,查找可用的ip。
dig @114.114.114.114 index.docker.io
。如果dig命令报错,要先安装工具包。yum -y install bind-utils
[root@lishch-centos7-20220614 ~]# dig @114.114.114.114 index.docker.io ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> @114.114.114.114 index.docker.io ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 765 ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;index.docker.io. IN A ;; ANSWER SECTION: index.docker.io. 73 IN CNAME elb-io.us-east-1.aws.dckr.io. elb-io.us-east-1.aws.dckr.io. 73 IN CNAME us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 52.0.124.215 us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 34.206.129.210 us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 3.218.46.255 us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 54.83.62.173 us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 50.17.172.199 us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com. 73 IN A 54.227.193.182 ;; Query time: 37 msec ;; SERVER: 114.114.114.114#53(114.114.114.114) ;; WHEN: Sat Jun 18 14:36:26 CST 2022 ;; MSG SIZE rcvd: 260
- 找到ANSWER SECTION模块,把对应的ip添加到hosts文件。一般添加一两个ip就可以了。
vim /etc/hosts
。在文件末尾添加一行52.0.124.215 index.docker.io
。再次执行docker search命令。就可以了。[root@lishch-centos7-20220614 ~]# vim /etc/hosts ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 172.31.160.170 lishch-centos7-20220614 lishch-centos7-20220614 100.100.2.138 index.docker.io 52.0.124.215 index.docker.io