在 Ubuntu 上使用 Docker 时无法拉取镜像(docker pull 失败),通常有以下几种常见原因和对应的排查/解决方法。我按最常见 → 较少见给你梳理一下。
Docker Hub 官方源在国内经常超时或极慢。
现象
docker pull ubuntu
# 卡住或报错
error pulling image configuration: ...
解决方法:配置国内镜像加速器
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
写入:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
保存后:
sudo systemctl daemon-reexec
sudo systemctl restart docker
再试:
docker pull ubuntu
现象
could not resolve host: registry-1.docker.io
解决
sudo nano /etc/docker/daemon.json
加:
{
"dns": ["8.8.8.8", "114.114.114.114"]
}
sudo systemctl restart docker
systemctl status docker
如果没运行:
sudo systemctl start docker
sudo systemctl enable docker
检查
curl https://registry-1.docker.io
不通说明网络被限制。
解决
docker version
建议:
sudo apt remove docker docker.io
sudo apt install docker.io
或使用官方源安装最新版。
请贴出你的完整报错,例如:
docker pull nginx
报错示例:
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout
我可以精准判断是网络、DNS 还是镜像源问题。
如果你愿意,可以把 Ubuntu 版本 + 报错截图/文本 发我,我可以直接告诉你该怎么改。