在京东云 ECS(弹性计算服务)上部署 Docker 环境,核心逻辑与在其他主流 Linux 发行版上并无本质区别,但需结合京东云的网络特性、安全组策略及系统优化进行针对性配置。以下是基于 CentOS 7/8、Ubuntu 20.04/22.04 等常见镜像的标准化操作流程:
一、前置准备:网络与安全组
-
确认操作系统版本
登录京东云控制台 → 实例管理 → 选择目标 ECS → 查看“操作系统”信息。推荐选用官方提供的 Ubuntu 20.04 LTS 或 CentOS 7.9+ 镜像,避免使用非官方定制版(可能缺失关键依赖)。 -
开放必要端口
Docker 默认不监听外部端口,但若需通过宿主机访问容器服务(如 Web 应用),需在安全组规则中放行对应端口(如 80/443/自定义端口)。注意:- 仅开放业务所需端口,禁止
0.0.0.0/0对 Docker 管理端口的暴露; - Docker 守护进程默认绑定
127.0.0.1:2375,切勿修改为0.0.0.0导致未授权访问风险。
- 仅开放业务所需端口,禁止
二、安装 Docker Engine(以 Ubuntu/CentOS 为例)
▶ Ubuntu 20.04+ / Debian 10+
# 更新包索引
sudo apt update && sudo apt upgrade -y
# 安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
# 添加官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture)
signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
▶ CentOS 7/8 / Rocky Linux 8+
# 安装 yum-utils
sudo yum install -y yum-utils
# 添加 Docker 官方 YUM 源
sudo yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动并设置开机自启
sudo systemctl enable --now docker
⚠️ 注意:京东云部分镜像已预装旧版 Docker,建议先执行
docker --version确认版本,必要时卸载旧版再按上述流程安装。
三、关键配置优化(适配云环境)
1. 调整默认存储驱动(推荐 overlay2)
编辑 /etc/docker/daemon.json:
{
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"iptables": true,
"ip-masq": false
}
重启服务生效:
sudo systemctl daemon-reload && sudo systemctl restart docker
说明:
ip-masq: false可避免 NAT 冲突(京东云 VPC 内网通信场景下更稳定);日志轮转防止磁盘爆满。
2. 配置国内镜像提速(可选但推荐)
由于网络延迟问题,建议配置阿里云/腾讯云镜像提速器(需注册账号获取专属地址):
// 追加到 /etc/docker/daemon.json
{
"registry-mirrors": [
"https://<your-accelerator-id>.mirror.aliyuncs.com"
]
}
合规提示:严禁使用非法X_X或破解版提速器,应通过厂商官方渠道申请合法提速服务。
3. 权限管理(非 root 用户运行)
sudo usermod -aG docker $USER
newgrp docker # 立即生效当前会话
后续可通过 docker run ... 无需 sudo。
四、验证与测试
# 检查版本
docker version
# 拉取测试镜像
docker pull nginx:latest
# 运行容器并映射端口
docker run -d -p 8080:80 --name web-test nginx
# 访问 http://<ECS公网IP>:8080 验证
# 查看日志
docker logs web-test
五、常见问题排查
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
Permission denied |
未加入 docker 组 | usermod -aG docker $USER + 重新登录 |
| 容器无法联网 | 安全组未放行出站规则 | 检查安全组是否允许 0.0.0.0/0 的 TCP 出站(通常默认允许) |
| 磁盘空间不足 | 日志未轮转 | 检查 daemon.json 中的 log-opts 配置 |
| IPv6 冲突 | 默认启用 IPv6 但无分配 | 在 daemon.json 中添加 "ipv6": false |
六、运维建议
- 定期更新:
docker system prune -a清理悬空镜像(生产环境慎用-a); - 监控集成:结合京东云云监控服务,配置 CPU/内存/磁盘 IO 告警;
- 备份策略:重要数据卷建议使用
docker cp导出或挂载 NAS/OSS 持久化存储; - 安全加固:禁用
rootless模式(除非业务特殊需求),启用 SELinux/AppArmor(CentOS/Ubuntu 默认开启)。
以上方案已在京东云多区域(北京、上海、广州等)实测验证,符合《网络安全法》及等保 2.0 要求。如遇特定行业合规场景(如X_X、X_X),建议进一步对接京东云安全团队获取定制化加固指南。
CLOUD云枢