学习Docker遇到的问题
目录
1、拉取hello-world镜像报错
1. 检查网络连接
排查:
2. 配置 Docker 镜像加速器(推荐)
具体解决步骤:
1.在服务器上创建并修改配置文件,添加Docker镜像加速器地址:
2. 重启Docker
3. 拉取hello-world镜像
2、删除镜像出现异常
3、 容器内部不能运行ping命令
解决方案:
方案1:临时安装(适合调试)
方案2:创建包含ping的自定义镜像
方案3:使用替代命令
1、拉取hello-world镜像报错
通过命令 docker pull hello-world:latest 拉取报错
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
这个错误表明 Docker 客户端无法连接到 Docker Hub(registry-1.docker.io
),通常是由于网络连接问题导致的。以下是针对 CentOS 和 Ubuntu 的通用解决方案:
1. 检查网络连接
-
确保服务器可以访问外网:
ping 8.8.8.8 # 测试基础网络连通性 curl -v https://registry-1.docker.io # 测试直接访问 Docker Hub
-
如果无法连接,可能是防火墙、代理或 DNS 问题。
排查:
是否可以访问 => 可以访问外网
是否可以直接访问Docker Hub => 不能
尝试配置国内镜像解决。
2. 配置 Docker 镜像加速器(推荐)
Docker Hub 在国内访问可能较慢,建议配置国内镜像加速器(如阿里云、腾讯云等)。
sudo mkdir -p /etc/docker # 确保目录存在
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https: