Docker镜像拉取失败解决方案

文章目录

  • 问题及分析
  • 解决方案
    • 1.先排查DNS
    • 2.修改源
    • 3.代理配置
    • 4.重启docker服务
  • 问题解决


问题及分析

今天我用docker拉取镜像的时候报错

error pulling image configuration: download failed after attempts=6: dial tcp xxx.xx.xxx.xx:xxx: i/o timeout

Docker镜像拉取失败解决方案_第1张图片

连接超时大概率以下两个问题
1.DNS配置有误
2.镜像源配置问题
3.代理问题


解决方案

1.先排查DNS

检查resolv.conf中是否包含8.8.8.8和8.8.4.4

sudo vim /etc/resolv.conf

Docker镜像拉取失败解决方案_第2张图片
包含说明DNS没问题大概率就是源的问题

2.修改源

进入daemon.json(如果没有手动创建)

sudo vim /etc/docker/daemon.json

添加

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://iju9kaj2.mirror.aliyuncs.com",
        "http://hub-mirror.c.163.com",
        "https://cr.console.aliyun.com",
        "https://hub.docker.com",
        "http://mirrors.ustc.edu.cn"
    ]
}

Docker镜像拉取失败解决方案_第3张图片

3.代理配置

如果有代理的话需要配置,没有的话就不需要
进入proxy.conf(如果没有的话手动创建)

sudo vim /etc/systemd/system/docker.service.d/proxy.conf

添加:

[Service]
Environment="HTTP_PROXY=http://xxx.xxx.xxx.xxx:xxxx/"
Environment="HTTPS_PROXY=http://xxx.xxx.xxx.xxx:xxxx/"
Environment="NO_PROXY=localhost,127.0.0.1,xxx.xxx.xxx.xxx"

4.重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

问题解决

搞定

Docker镜像拉取失败解决方案_第4张图片

你可能感兴趣的:(docker,容器,运维)