解决Docker 拉取镜像失败–修改国内DNS  

第一步:关闭 systemd-resolved

sudo systemctl disable --now systemd-resolved

查看状态:

systemctl status systemd-resolved

确保是 inactive / dead

第二步:删除 Ubuntu 默认的 /etc/resolv.conf(它是个错误的链接)

sudo rm /etc/resolv.conf

第三步:创建一个“静态 resolv.conf”(国内 DNS)

echo "nameserver 223.5.5.5
nameserver 119.29.29.29
nameserver 114.114.114.114" | sudo tee /etc/resolv.conf

这三个 DNS 全是国内高速可访问的。

第四步:锁定 resolv.conf 防止被系统改写

sudo chattr +i /etc/resolv.conf

现在检查 DNS:

ping -c 3 baidu.com

如果能 ping 通 → DNS 已修复。

第五步:为 Docker 设置同样的国内 DNS

编辑:

sudo nano /etc/docker/daemon.json

内容(推荐配置):

{
  "dns": [
    "223.5.5.5",
    "119.29.29.29",
    "114.114.114.114"
  ],
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.ccs.tencentyun.com",
    "https://hub-mirror.c.163.com"
  ]
}

保存 → 重启:

sudo systemctl restart docker

最终测试 Docker DNS(必须通过)

docker run --rm busybox nslookup baidu.com

如果成功,你会看到:

Server: 223.5.5.5
Name: baidu.com
Address: 39.156.x.x

这就代表:

Docker DNS 彻底修复

国内环境也能顺畅 docker pull

欢迎大佬支持本博客的发展 -- Donate --

本文链接:解决Docker 拉取镜像失败--修改国内DNS

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^


分享到:          
  1. 没有评论

  1. 没有通告