美文网首页IT@程序员猿媛
Docker pull 拉取失败问题解析

Docker pull 拉取失败问题解析

作者: 高多金 | 来源:发表于2019-04-29 08:46 被阅读1次

    问题

    [root@localhost ~]# docker pull nginx
    Using default tag: latest
    Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
    
    

    分析

    我们使用docker命令去公共仓库拉取镜像的时候,出现这条报错,根据错误提示我们分析出:连接公共仓库的地址出现问题,由于我们使用的静态IP DNS也配置没有问题,所以可能是地址的问题。

    这里提出的解决方案是换个可用地址

    解决方案

    首先 我们先安装一组DNS的工具包 bind-utils

    bind-utils是bind软件提供的一组DNS工具包,里面有一些DNS相关的工具。主要:dig,host,nslookup,nsupdate。使用这些工具可以进行域名解析和DNS调试工作

    我们使用的就是dig

    dig是一个DNS查询工具.dig向DNS服务器发出请求,然后输出DNS服务器的返回结果。系统管理员可以使用dig来测试DNS服务器。dig会根据/etc/resolv.conf文件中列出的服务器,依次进行尝试。不加参数执行dig时,dig将执行一个.查询,即根查询

    格式 dig [ global-queryopt... ] [ query... ]

    dig @114.114.114.114 registry-1.docker.io
    

    我们通过dig找到这个域名的其他IP

    ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> @114.114.114.114 registry-1.docker.io
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60572
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;registry-1.docker.io.      IN  A
    
    ;; ANSWER SECTION:
    registry-1.docker.io.   32  IN  A   54.88.231.116
    registry-1.docker.io.   32  IN  A   34.199.77.19
    registry-1.docker.io.   32  IN  A   100.24.246.89
    registry-1.docker.io.   32  IN  A   34.201.236.93
    registry-1.docker.io.   32  IN  A   34.197.189.129
    registry-1.docker.io.   32  IN  A   54.210.105.17
    registry-1.docker.io.   32  IN  A   34.199.40.84
    registry-1.docker.io.   32  IN  A   34.201.196.144
    
    ;; Query time: 20 msec
    ;; SERVER: 114.114.114.114#53(114.114.114.114)
    ;; WHEN: 日 4月 28 17:47:49 CST 2019
    ;; MSG SIZE  rcvd: 177
    

    可以看到 我们得到了几个IP地址

    然后在域名解析文件下挨个IP尝试

    vim /etc/hosts
    100.24.246.89 registry-1.docker.io
    #我尝试到了这个IP才好用的
    

    结果

    [root@localhost ~]# docker pull centos:7
    7: Pulling from library/centos
    8ba884070f61: Pull complete 
    Digest: sha256:8d487d68857f5bc9595793279b33d082b03713341ddec91054382641d14db861
    Status: Downloaded newer image for centos:7
    [root@localhost ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               latest              27a188018e18        11 days ago         109MB
    centos              7                   9f38484d220f        6 weeks ago         202MB
    
    

    解决问题!

    相关文章

      网友评论

        本文标题:Docker pull 拉取失败问题解析

        本文链接:https://www.haomeiwen.com/subject/hkjenqtx.html