适用于 Ubuntu 20.04 / 22.04 / 24.04 等主流版本
解决“连接被重置”、“拉取镜像慢”、“hello-world 报错”等常见问题
一、为什么需要特殊配置?
Docker 官方仓库(download.docker.com 和 registry-1.docker.io)在国内访问不稳定,常出现:
curl: (35) Recv failure: 连接被对方重置docker pull卡住或超时- 拉取镜像时报
content size of zero等异常
因此,必须使用国内镜像源来完成安装和日常使用。
二、使用国内镜像源安装 Docker(推荐清华源)
1. 添加 Docker 官方 GPG 密钥(使用清华镜像)
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
2. 添加清华软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3. 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 验证安装
sudo docker run hello-world
若看到 “Hello from Docker!”,说明安装成功!
三、配置 Docker 镜像加速器(解决拉取慢/失败)
由于 Docker Hub 在国内访问困难,需配置 Registry Mirror(镜像加速器)。
推荐配置(2026 年实测稳定)
编辑 Docker 配置文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.mirrors.ustc.edu.cn"
]
}
EOF
✅ 说明:
docker.m.daocloud.io:DaoCloud 提供,兼容性好docker.mirrors.ustc.edu.cn:中科大镜像,教育网友好- 不建议堆砌过多镜像源,避免因某个坏源导致 fallback 失败
重启 Docker 生效
sudo systemctl daemon-reload
sudo systemctl restart docker
验证配置是否生效
sudo docker info | grep -A5 "Registry Mirrors"
应看到你配置的镜像地址。
四、常用 Docker 命令速查
| 功能 | 命令 |
|---|---|
| 查看 Docker 版本 | docker --version |
| 查看本地镜像 | docker images |
| 拉取镜像(如 nginx) | docker pull nginx |
| 运行容器(前台) | docker run nginx |
| 运行交互式容器 | docker run -it ubuntu bash |
| 后台运行容器 | docker run -d nginx |
| 查看运行中的容器 | docker ps |
| 查看所有容器(含已停止) | docker ps -a |
| 停止容器 | docker stop <容器ID或名称> |
| 删除容器 | docker rm <容器ID> |
| 删除镜像 | docker rmi <镜像名> |
| 清理无用容器 | docker container prune |
| 清理无用镜像 | docker image prune -a |
五、免 sudo 使用 Docker(可选)
将当前用户加入 docker 用户组:
sudo usermod -aG docker $USER
然后重新登录终端,即可直接使用 docker 命令,无需 sudo。
⚠️ 注意:此操作赋予用户 root 权限,请仅在个人开发机使用。
六、常见问题排查
Q1:hello-world 报错 content size of zero
→ 通常是某个镜像加速器返回异常数据。移除不可靠的镜像源(如某些公共轩辕/毫秒节点),只保留 DaoCloud 或中科大。
Q2:permission denied 访问 /var/run/docker.sock
→ 要么用 sudo,要么执行 sudo usermod -aG docker $USER 并重新登录。
Q3:安装时 curl 下载 GPG 失败
→ 改用清华、阿里云等国内源下载密钥,不要直连 download.docker.com。
七、结语
通过以上步骤,你已经拥有了一个高速、稳定、功能完整的 Docker 开发环境。接下来可以:
- 编写自己的
Dockerfile - 使用
docker-compose编排多服务应用 - 部署 Web 服务、数据库、AI 模型等容器化应用
参考资料:
- Docker 官方文档:https://docs.docker.com/engine/install/ubuntu/
- 清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
- DaoCloud 镜像加速:https://www.daocloud.io/mirror