解决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
| 分享到: | |
没有评论