京东云ECS实例如何正确安装和配置Docker环境?

在京东云 ECS(弹性计算服务)上部署 Docker 环境,核心逻辑与在其他主流 Linux 发行版上并无本质区别,但需结合京东云的网络特性、安全组策略及系统优化进行针对性配置。以下是基于 CentOS 7/8、Ubuntu 20.04/22.04 等常见镜像的标准化操作流程:

一、前置准备:网络与安全组

  1. 确认操作系统版本
    登录京东云控制台 → 实例管理 → 选择目标 ECS → 查看“操作系统”信息。推荐选用官方提供的 Ubuntu 20.04 LTS 或 CentOS 7.9+ 镜像,避免使用非官方定制版(可能缺失关键依赖)。

  2. 开放必要端口
    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云枢 » 京东云ECS实例如何正确安装和配置Docker环境?