docker容器镜像拉取失败解决方案

adele@ubuntu:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

解决方案:

sudo vim /etc/docker/daemon.json

 插入镜像源

{
        "registry-mirrors":["https://docker.registry.cyou",
        "https://docker-cf.registry.cyou",
        "https://dockercf.jsdelivr.fyi",
        "https://docker.jsdelivr.fyi",
        "https://dockertest.jsdelivr.fyi",
        "https://mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com"
        "https://docker.m.daocloud.io"
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn"
        "https://docker.mirrors.ustc.edu.cn"
        "https://mirror.iscas.ac.cn"
        "https://docker.rainbond.cc"]
}

查看一下

adele@ubuntu:~$ cat /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ]
}

成功。然后重启

sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl status docker
adele@ubuntu:~$ sudo systemctl daemon-reload
adele@ubuntu:~$ sudo systemctl restart docker
adele@ubuntu:~$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
   Active: active (running) since Fri 2024-12-20 17:22:15 CST; 43s ago
     Docs: https://docs.docker.com
 Main PID: 3069 (dockerd)
    Tasks: 9
   CGroup: /system.slice/docker.service
           └─3069 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain

12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.309688841+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.310469597+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.310604555+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.311577345+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.450661774+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.490279840+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.542149211+08:00
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.543871903+08:00
12月 20 17:22:15 ubuntu systemd[1]: Started Docker Application Container Engine.
12月 20 17:22:15 ubuntu dockerd[3069]: time="2024-12-20T17:22:15.572200859+08:00

启动成功

测试运行

 成功。

 

### 解决 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 地址作为备选方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adellle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值