Docker镜像拉取失败解决方案


问题及分析

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

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

请添加图片描述

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


解决方案

1.先排查DNS

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

sudo vim /etc/resolv.conf

在这里插入图片描述
包含说明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"
    ]
}

在这里插入图片描述

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

问题解决

搞定

在这里插入图片描述

### 解决 Ubuntu 上 Docker 镜像失败的方法 当遇到 `docker image pull` 失败的情况时,可能由多种原因引起。以下是几种常见的解决方案: #### 1. 检查网络连接和代理设置 确保主机具有稳定的互联网连接。如果使用代理服务器,则需配置 Docker 使用该代理。 对于国内用户而言,由于国际网络状况不佳可能导致下载速度慢甚至无法访问官方源,因此建议配置加速器来提高效率[^2]。 ```bash sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` #### 2. 清理并重置 Docker 环境 有时残留的数据可能会干扰新镜像的获过程。可以通过清理旧版本以及重启服务来进行尝试修复。 ```bash # 移除所有停止容器、未被使用的网络和其他资源 docker system prune -af --volumes # 重新启动Docker守护程序以应用更改 sudo systemctl restart docker ``` #### 3. 启用 Live Restore 功能 启用此选项有助于防止因意外断电等原因造成的服务中断影响到正在运行中的容器状态保存与恢复工作正常执行。 编辑 `/etc/docker/daemon.json` 文件,在其中加入 `"live-restore": true` 参数后保存退出再重启服务即可生效。 #### 4. 更新 Docker 版本 保持软件处于最新状态总是好的实践之一;过期或存在漏洞的安全补丁都应及时更新升级。 ```bash sudo apt-get update && sudo apt-get upgrade docker-ce docker-ce-cli containerd.io ``` #### 5. 尝试其他标签或仓库地址 某些特定版本可能存在临时性的不可用情况,此时可考虑更换为不同的 tag 或者寻找替代的 registry 地址作为备选方案。 ---
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值