一.问题描述
按照Ubuntu | Docker Docs中使用apt安装的方法安装了docker
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
但是在最后使用docker helloworld验证的时候出现问题
sudo docker run hello-world
二.问题现象
出现的问题种类比较多样,总结就是无法正常从远端拉取docker image
三.解决思路
1. 检查 Docker 的网络配置
- 如果你使用代理服务器,可能需要在 Docker 中配置代理。你可以检查或配置 Docker 的网络设置:
- 打开或创建
/etc/systemd/system/docker.service.d/http-proxy.conf
文件,配置代理: -
[Service] Environment="HTTP_PROXY=http://your_proxy:port" Environment="HTTPS_PROXY=http://your_proxy:port"
- 重新加载 Docker 服务:
-
sudo systemctl daemon-reload sudo systemctl restart docker
- 打开或创建
2. 检查 Docker Daemon 是否正常运行
- 有时 Docker Daemon 可能会停止或崩溃。你可以通过以下命令检查 Docker Daemon 的状态:
-
sudo systemctl status docker
- 如果 Docker 没有正常运行,可以尝试重启 Docker 服务:
-
sudo systemctl restart docker
-
3. 确保 DNS 配置正确
- 该问题有时可能与 DNS 配置相关,特别是在某些网络环境中。如果 Docker 无法解析
registry-1.docker.io
,你可以尝试修改 Docker 的 DNS 配置:- 创建或修改
/etc/docker/daemon.json
文件,加入以下内容来使用 Google 的公共 DNS(8.8.8.8 和 8.8.4.4) -
{ "dns": ["8.8.8.8", "8.8.4.4"] }
- 然后重启 Docker 服务:
-
sudo systemctl restart docker
- 创建或修改