在京东云(JD Cloud)服务器(即云主机,ECS)上部署 Docker 环境,需完成以下系统级前置配置和最佳实践步骤,确保安全、稳定、可运维:
✅ 一、基础环境准备(京东云控制台 & 实例层面)
| 项目 | 要求/建议 | 说明 |
|---|---|---|
| 1. 云主机规格 | ≥2核4GB 内存(生产建议≥4核8GB) | Docker 本身轻量,但容器运行需预留资源;若部署多容器或数据库,需更高配置 |
| 2. 操作系统 | 推荐:Ubuntu 22.04 LTS 或 CentOS 7.9 / Alibaba Linux 3 / TencentOS Server 3(京东云兼容) ⚠️ 注意:CentOS 8+ 已停止维护,不推荐;避免使用过旧内核(如 CentOS 7.2 以下) |
Docker 官方支持主流 Linux 发行版;Ubuntu 对容器生态支持最友好;京东云镜像市场提供优化的「JDCloud OS」镜像(基于 CentOS/Rocky/AlmaLinux),建议选用 |
| 3. 内核版本 | ≥ 3.10(最低要求),推荐 ≥4.15(支持 cgroups v2、overlay2 等新特性) |
执行 uname -r 检查;老旧内核可能无法启用 overlay2 存储驱动,影响性能与稳定性 |
| 4. 网络配置 | ✅ 安全组开放必要端口: • SSH(22) • 应用端口(如 80/443/8080) • 若需 Docker Remote API(不推荐公网暴露!)仅限内网或白名单IP访问 ❌ 禁止开放 2375/2376 到公网 |
安全组是京东云第一道防火墙,务必最小化授权 |
| 5. 磁盘配置 | • 系统盘 ≥ 40GB(建议 SSD) • 强烈建议挂载独立数据盘(如 100GB+ SSD)用于 /var/lib/docker |
Docker 镜像、容器、卷默认存储在 /var/lib/docker,易占满系统盘;挂载独立盘并迁移数据目录可避免磁盘告警和容器崩溃 |
✅ 二、系统级前置配置(登录实例后执行)
1. 更新系统 & 安装基础工具
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg2 ca-certificates software-properties-common
# CentOS/Rocky/AlmaLinux
sudo yum update -y
sudo yum install -y yum-utils curl wget tar gzip
2. 配置时区与时间同步(关键!)
sudo timedatectl set-timezone Asia/Shanghai
sudo systemctl enable chronyd && sudo systemctl start chronyd
# 或 Ubuntu 用 systemd-timesyncd
sudo timedatectl set-ntp true
⚠️ 容器时间不同步会导致日志错乱、证书失效、定时任务异常。
3. 配置 ulimit 与内核参数(提升容器并发能力)
编辑 /etc/security/limits.conf:
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
并确保 /etc/pam.d/common-session 或 /etc/pam.d/sshd 含:
session required pam_limits.so
重启 SSH 或重新登录生效。
4. 配置 Docker 存储驱动(推荐 overlay2)
检查当前驱动:
cat /proc/filesystems | grep overlay
确保内核已加载 overlay 模块:
sudo modprobe overlay
sudo modprobe br_netfilter
永久生效(写入 /etc/modules):
echo 'overlay' | sudo tee -a /etc/modules
echo 'br_netfilter' | sudo tee -a /etc/modules
5. 配置 IPv4 转发(Docker 网络必需)
# 临时启用
sudo sysctl net.ipv4.ip_forward=1
# 永久生效(写入 /etc/sysctl.conf)
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
6. (可选但推荐)配置国内镜像源提速
- 系统 apt/yum 镜像源:京东云提供 JDCloud 镜像源,替换
/etc/apt/sources.list或/etc/yum.repos.d/CentOS-Base.repo - Docker Hub 提速器(部署 Docker 后配置):使用京东云合作镜像源(如
https://docker.mirrors.ustc.edu.cn)或阿里云/腾讯云提速器(需注册获取)
✅ 三、Docker 安装方式推荐(按优先级)
| 方式 | 推荐度 | 说明 |
|---|---|---|
| ✅ 官方仓库安装(最稳) | ⭐⭐⭐⭐⭐ | 使用 Docker 官方 APT/YUM 源,版本新、更新及时、无兼容风险(见下方命令) |
| ✅ 京东云 Marketplace 镜像 | ⭐⭐⭐⭐ | 京东云镜像市场搜索 “Docker” 或 “Container Runtime”,部分预装 Docker + docker-compose 的镜像可一键部署 |
❌ 直接 apt install docker.io(Ubuntu) |
⚠️ 不推荐 | 版本陈旧(如 Ubuntu 22.04 默认为 20.10),缺少新特性与安全补丁 |
| ❌ 二进制包手动安装 | ⚠️ 仅调试用 | 缺少 systemd 集成、升级复杂,不适用于生产 |
▶ 官方安装示例(Ubuntu):
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER # 当前用户加入 docker 组(退出重登生效)
sudo systemctl enable docker # 开机自启
sudo systemctl start docker
docker --version # 验证
▶ 官方安装示例(CentOS/Rocky):
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker && sudo systemctl start docker
sudo usermod -aG docker $USER
✅ 四、部署后必做验证与加固
| 步骤 | 命令/操作 | 目的 |
|---|---|---|
| 1. 验证 Docker 运行 | docker run --rm hello-world |
确认引擎、镜像拉取、容器运行全流程正常 |
| 2. 检查存储驱动 | docker info | grep "Storage Driver" → 应为 overlay2 |
避免 aufs 或 devicemapper(已弃用/不稳定) |
| 3. 配置 daemon.json(生产必备) | 编辑 /etc/docker/daemon.json:json<br>{<br> "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],<br> "log-driver": "json-file",<br> "log-opts": {"max-size": "10m", "max-file": "3"},<br> "data-root": "/data/docker" // 若挂载了独立数据盘<br>}<br>然后 sudo systemctl restart docker |
提速、日志轮转、数据目录迁移 |
| 4. 安装 docker-compose(v2 推荐) | sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose |
多容器编排必备 |
| 5. 安全加固(生产强制) | • 禁用 docker.sock 公网访问• 使用 --read-only 启动敏感容器• 定期 docker system prune -a 清理无用资源• 考虑启用 Docker Content Trust |
防止未授权容器逃逸与镜像篡改 |
📌 附:京东云特有提示
- ✅ 京东云 支持 GPU 实例部署 Docker + NVIDIA Container Toolkit(需安装
nvidia-docker2,参考 JD Cloud GPU 容器文档) - ✅ 可无缝对接 京东云容器服务(JDCCS) 或 Kubernetes 服务(JDCKS),实现混合部署
- ❗ 若使用 京东云轻量应用服务器(非标准 ECS),注意其系统限制(如部分内核模块不可加载),建议优先选用标准云主机(ECS)
需要我为你提供:
- ✅ 一键脚本(自动完成上述所有前置配置 + Docker 安装)
- ✅
/etc/docker/daemon.json完整生产模板 - ✅ 将 Docker 数据目录迁移到挂载盘的详细步骤
- ✅ 基于京东云 VPC 内网搭建私有 Registry 方案
欢迎随时告诉我你的具体 OS 和场景(如:开发测试 / 生产 Web 服务 / AI 推理),我可以为你定制化输出 👇
CLOUD云枢