遇到 docker run hello-world 报错无法找到本地镜像且拉取超时的情况,通常是因为默认 Docker Hub 在国内访问不稳定导致的。作为开发者,我们常需要配置国内加速源来保证构建和运行的流畅性。
核心思路是修改 Docker 守护进程配置文件 /etc/docker/daemon.json,添加镜像加速器地址。
首先确保目录存在,然后写入配置。注意命令中的空格不能少,否则会导致执行失败:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
EOF
配置完成后,必须重载系统配置并重启 Docker 服务才能生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证配置是否成功,可以查看 Docker 信息输出,确认 Registry Mirrors 字段下是否有刚才设置的地址。如果显示正常,再次尝试运行测试镜像:
docker run hello-world
此时应该能顺利看到欢迎信息。如果依然超时,建议检查网络环境或更换其他稳定的镜像源地址。


