在京东云(JD Cloud)Ubuntu实例上安装 Docker 时,常见的网络问题主要包括:
- apt 源慢或超时(因默认使用境外源,京东云国内节点访问 Ubuntu 官方源不稳定)
- Docker 官方 apt 仓库 HTTPS 连接失败(SSL 证书验证、DNS 解析异常、X_X干扰)
- 安装后
dockerd启动失败或无法拉取镜像(如docker pull hello-world超时/拒绝连接) - 容器网络不通、bridge 网络异常、iptables/nftables 冲突
- 京东云安全组/网络 ACL 未放行必要端口(虽非 Docker 安装必需,但影响后续 registry 访问)
以下是系统化、生产就绪的避坑指南,适用于京东云 Ubuntu 20.04/22.04 实例(推荐使用 22.04 LTS):
✅ 一、前置检查与环境准备
# 1. 升级系统并确认网络连通性
sudo apt update && sudo apt upgrade -y
ping -c 3 mirrors.aliyun.com # 验证基础网络(阿里云镜像站稳定)
curl -I https://mirrors.aliyun.com # 验证 HTTPS 可达性
# 2. 检查 DNS 配置(京东云默认 DNS 可能不稳定,建议显式配置)
echo "nameserver 223.5.5.5" | sudo tee /etc/resolv.conf # 阿里 DNS(国内首选)
echo "nameserver 114.114.114.114" | sudo tee -a /etc/resolv.conf
# (可选)持久化:编辑 /etc/systemd/resolved.conf,设置 DNS=223.5.5.5,然后 sudo systemctl restart systemd-resolved
# 3. 关闭可能冲突的服务(如 snapd 的 docker 干扰)
sudo snap remove docker 2>/dev/null || true
✅ 二、使用国内镜像源安装 Docker(关键!避免网络失败)
⚠️ 切勿直接运行官方
get.docker.com脚本(它默认走download.docker.com,国内常超时/证书错误)
✅ 推荐方式:使用阿里云 Docker CE 镜像源(稳定、同步及时)
# 1. 卸载旧版(如有)
sudo apt remove docker docker-engine docker.io containerd runc -y
sudo rm -rf /var/lib/docker /var/lib/containerd
# 2. 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release software-properties-common
# 3. 添加阿里云 Docker GPG 密钥(国内直连)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 4. 配置阿里云 apt 源(自动适配 Ubuntu 版本)
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
# 5. 更新并安装(速度快、无超时)
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 6. 启动并设为开机自启
sudo systemctl enable docker
sudo systemctl start docker
# 7. 验证安装
sudo docker run --rm hello-world # ✅ 应成功输出欢迎信息
✅ 三、解决「安装后无法拉取镜像」问题(国内网络核心优化)
🔧 配置 Docker 国内镜像提速器(必做!)
京东云用户强烈推荐使用 阿里云容器镜像服务(免费) 或 中科大镜像站:
# 创建 daemon.json(若不存在)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://<你的阿里云镜像提速器地址>.mirror.aliyuncs.com", // 👉 登录 https://cr.console.aliyun.com → 镜像工具 → 镜像提速器,获取专属地址
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
# 重载配置 & 重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 验证镜像提速生效
sudo docker info | grep "Registry Mirrors" -A 3
💡 提示:阿里云镜像提速器需实名认证后免费开通,速度远超公共镜像站。
✅ 四、规避网络/防火墙相关问题
| 问题现象 | 解决方案 |
|---|---|
dockerd 启动失败(报 failed to start daemon: error initializing graphdriver) |
确保 /var/lib/docker 所在磁盘有足够空间(≥10GB),且文件系统支持 overlay2(Ubuntu 22.04+ 默认 OK) |
容器内无法访问网络(如 ping baidu.com 失败) |
检查京东云安全组是否允许出方向全部流量(默认通常允许);检查宿主机 iptables -L -n 是否被误清空或拦截 FORWARD 链(Docker 会自动配置,勿手动修改) |
docker build 中 apt-get update 超时 |
在 Dockerfile 中使用国内源:RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list |
使用 docker-compose 时网络解析失败 |
在 docker-compose.yml 中显式配置 DNS:services:<br> app:<br> dns: 223.5.5.5 |
✅ 五、附加建议(提升稳定性与安全性)
-
✅ 添加当前用户到
docker组(免sudo):sudo usermod -aG docker $USER newgrp docker # 刷新组权限(或重新登录 SSH) -
✅ 禁用 IPv6(如不需要):京东云部分实例 IPv6 配置不完善,可在
/etc/docker/daemon.json中添加:"ipv6": false, "fixed-cidr-v6": "2001:db8:1::/64"(但更推荐保持默认,仅在明确故障时调整)
-
✅ 监控资源:京东云轻量应用服务器/云主机可能内存较小(如 1G),建议限制容器内存:
docker run -m 512m --memory-swap 1g nginx -
❌ 避免的操作:
- 不要
curl https://get.docker.com | sh(高概率失败) - 不要手动修改
/etc/default/docker(Docker 20.10+ 已废弃) - 不要禁用
systemdcgroup driver(Ubuntu 22.04+ 强烈依赖)
- 不要
✅ 快速验证清单(执行后应全 ✅)
docker --version # ✅ 显示版本(如 24.0.7)
docker info | grep "Cgroup Driver" # ✅ 输出 systemd
docker run --rm alpine ping -c1 114.114.114.114 # ✅ 成功
docker pull nginx:alpine # ✅ 秒级完成(走镜像提速)
docker network ls # ✅ 显示 bridge/host/none
如仍遇问题,请提供具体报错(如 journalctl -u docker -n 50 --no-pager 输出),我可进一步诊断。京东云环境整体与阿里云/腾讯云类似,坚持使用国内镜像源 + 阿里云提速器是 99% 网络问题的终极解法。
需要我为你生成一键安装脚本(含安全组提示、阿里云提速器自动获取等)?欢迎随时提出 👍
CCLOUD博客