日期:2026年6月28日
系统环境:Ubuntu (VMware Virtual Platform)
目标:在 Ubuntu 系统上安装 Docker 并解决网络问题
---
一、问题概览
在安装 Docker 的过程中,遇到了两个核心网络问题:
| 阶段 | 问题现象 | 根本原因 |
| 安装阶段 | curl: (35) Recv failure: 连接被对方重置 | 网络连接不稳定,丢包率高达 30% |
| 拉取镜像阶段 | dial tcp ...:443: connect: connection refused | 无法直接访问 Docker Hub 官方仓库 |
二、第一阶段:安装 Docker
1、问题诊断
ping download.docker.com结果:丢包率 30%,网络不稳定。
2、解决方案:使用国内镜像源安装
步骤 1:删除可能损坏的旧密钥文件
sudo rm /usr/share/keyrings/docker-archive-keyring.gpg步骤 2:使用阿里云镜像下载并保存 GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg步骤 3:添加阿里云的 Docker 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null步骤 4:更新软件包列表并安装 Docker
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io步骤 5:将当前用户加入 docker 组(免 sudo 使用 Docker)
sudo usermod -aG docker $USER newgrp docker # 立即生效验证安装
docker --version # 输出: Docker version 29.6.1三、第二阶段:配置镜像加速器
1、问题诊断
docker run hello-world错误:dial tcp 118.193.240.37:443: connect: connection refused
2、尝试过的镜像源(记录供参考)
| 镜像源地址 | 结果 | 原因 |
| https://docker.mirrors.ustc.edu.cn | ❌ 失败 | DNS 解析失败 (no such host) |
| https://registry.cn-hangzhou.aliyuncs.com | ❌ 失败 | 公共源不包含 (hello-world),返回( pull access denied) |
| https://registry.docker-cn.com | ❌ 失败 | 连接被拒绝 (connection refused) |
| https://docker.xuanyuan.me | ❌ 失败 | SSL 证书验证失败 (x509: certificate is not valid) |
| https://docker.1ms.run | ✅ 成功 | 稳定可用 |
| https://docker.m.daocloud.io | ✅ 成功 | 稳定可用 |
3、最终生效配置
配置文件位置:/etc/docker/daemon.json
json
{
"registry-mirrors": ["https://docker.m.daocloud.io"]
}
应用配置命令:
sudo systemctl restart docker四、验证成功
docker run hello-world成功输出:
Hello from Docker! This message shows that your installation appears to be working correctly.五、常用 Docker 命令速查
| 命令 | 说明 |
| docker --version | 查看 Docker 版本 |
| docker info | 查看 Docker 系统信息(含镜像源配置) |
| docker pull <镜像名> | 拉取镜像(需要提前输入密码) |
| docker run <镜像名> | 运行容器 |
| docker ps -a | 查看所有容器(含已停止) |
| docker images | 查看本地镜像列表 |
| docker images | 查看本地镜像列表 |
| docker login | 登录 Docker Hub |
| docker build -t <名称> . | 从 Dockerfile 构建镜像 |
六、关键学习要点
1.国内安装 Docker 必须使用国内镜像源(阿里云、清华等),直接访问官方源极易因网络问题失败。
2.GPG 密钥下载失败时,同样应换用国内镜像源地址。
3.镜像加速器并非一劳永逸,部分公共镜像源可能因证书过期、域名变更或政策调整而失效,需要测试验证。
4.配置镜像加速器后必须重启 Docker 服务:
sudo systemctl restart docker5.诊断网络问题的基本工具:
根据历史问题梳理:
ping:测试连通性与丢包率
curl -I <URL>:测试 HTTPS 连接与证书有效性
nslookup <域名>:测试 DNS 解析
env | grep -i proxy:检查是否配置了代理
6.Docker 配置文件优先级:/etc/docker/daemon.json 是 Docker 守护进程的主配置文件,修改后需重启服务。
七、当前环境状态
- ✅ Docker 已安装(版本 29.6.1)
- ✅ 当前用户已加入 `docker` 组,无需 `sudo` 执行 Docker 命令
- ✅ 镜像加速器已配置为 `https://docker.m.daocloud.io`
- ✅ `hello-world` 测试通过,网络拉取功能正常