奋斗
努力

京东云服务器部署Docker环境需要哪些前置配置?

云计算

在京东云(JD Cloud)服务器上部署 Docker 环境,需完成以下系统级前置配置最佳实践建议,以确保 Docker 安装稳定、运行安全且符合生产要求:


✅ 一、基础环境准备(必需)

项目 要求说明 检查/操作命令
1. 操作系统 ✔️ 推荐:Ubuntu 20.04/22.04、CentOS 7.9+(已 EOL 的 CentOS 8 不推荐)、Alibaba Cloud Linux 3 / Anolis OS(京东云兼容性好)
❌ 不支持:Windows Server(Docker Desktop 非原生)、旧内核(<3.10)
cat /etc/os-release
uname -r
2. 内核版本 ≥ 3.10(Docker 最低要求),强烈建议 ≥ 4.18(支持 cgroups v2、overlay2 更稳定) uname -r
3. CPU/内存 最低:2 核 4GB(轻量应用);生产环境建议 ≥ 4 核 8GB + SSD 云硬盘(保障 I/O) lscpu, free -h
4. 存储空间 至少预留 20GB 可用空间(Docker 镜像、容器、卷、日志会持续增长) df -h /
5. 网络连通性 ✅ 确保能访问网络(下载 Docker 官方仓库、镜像源)
✅ 若使用京东云私有 Registry(如 JDCloud Container Registry),需开通对应 VPC 内网访问权限
ping -c 3 hub.docker.com
curl -I https://registry.cn-north-1.jcr.jdcloud.com

✅ 二、系统级关键配置(必须调整)

配置项 为什么重要 操作方式
1. 关闭 SELinux(仅 CentOS/RHEL) Docker 与 SELinux 兼容性复杂,易导致容器启动失败或权限拒绝 bash<br>sudo setenforce 0<br>sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config<br>
2. 配置防火墙(firewalld/iptables) 避免 Docker 自动管理的 iptables 规则被防火墙拦截(尤其影响容器端口映射) 推荐方案
– Ubuntu:sudo ufw disable(或放行所需端口)
– CentOS:sudo systemctl stop firewalld && sudo systemctl disable firewalld
⚠️ 生产环境如需防火墙,应配置 iptables 并允许 DOCKER-USER 链规则
3. 启用并加载内核模块 Docker 依赖 overlay2(推荐存储驱动)、br_netfilter(网络桥接)等模块 bash<br>sudo modprobe overlay<br>sudo modprobe br_netfilter<br># 永久生效:<br>echo "overlay" | sudo tee /etc/modules-load.d/overlay.conf<br>echo "br_netfilter" | sudo tee /etc/modules-load.d/br_netfilter.conf<br>
4. 配置内核参数(关键!) 启用 IPv4 转发、启用 bridge-nf-call-iptables(确保容器网络正常) bash<br>cat <<EOF | sudo tee /etc/sysctl.d/99-docker.conf<br>net.bridge.bridge-nf-call-iptables = 1<br>net.bridge.bridge-nf-call-ip6tables = 1<br>net.ipv4.ip_forward = 1<br>EOF<br>sudo sysctl --system<br>

✅ 三、京东云平台侧配置(易忽略但关键)

项目 说明 操作位置
1. 安全组(Security Group) ✅ 必须开放 Docker 容器映射的端口(如 80/443/8080)
禁止开放 2375/2376(Docker Daemon 远程 API),除非严格 TLS 认证+白名单
京东云控制台 → 云服务器 → 安全组 → 编辑入方向规则
2. 实例规格与磁盘类型 ❗避免使用“共享型”实例(性能抖动影响容器稳定性)
✅ 推荐:计算型 C3/C5 或通用型 G3/G5 + SSD 云硬盘(高 IOPS)
创建实例时选择,或升级配置
3. 镜像源优化(国内提速) 避免拉取镜像超时/失败,配置国内镜像提速器 /etc/docker/daemon.json 中添加:
json<br>{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn"]}<br>
京东云用户推荐:可使用 中科大 或 阿里云 镜像源(需注册获取)

✅ 四、安装 Docker(标准流程)

# 1. 卸载旧版本(如有)
sudo apt remove docker docker-engine docker.io containerd runc  # Ubuntu
# 或
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

# 2. 安装依赖 & 添加官方源(以 Ubuntu 22.04 为例)
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 3. 安装 Docker Engine
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io

# 4. 配置镜像提速器(示例)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  }
}
EOF

# 5. 启动并设为开机自启
sudo systemctl enable docker
sudo systemctl start docker

# 6. 验证(非 root 用户需加 sudo,或加入 docker 组)
sudo docker run hello-world

🔐 安全加固建议(生产必做)

  • 将普通用户加入 docker 组:sudo usermod -aG docker $USER(退出重登生效)
  • 禁用 Docker 默认远程 API(2375/2376),防止未授权访问
  • 使用 docker context + TLS 管理远程节点(如需跨服务器编排)
  • 定期更新 Docker 和内核(sudo apt upgrade docker-ce

✅ 五、验证清单(部署后必检)

检查项 命令 期望输出
Docker 服务状态 sudo systemctl status docker active (running)
Docker 版本 docker --version Docker version 24.x, build xxx
存储驱动 docker info | grep "Storage Driver" overlay2(非 aufsdevicemapper
容器网络 docker network ls bridge, host, none 正常显示
镜像拉取测试 docker pull nginx:alpine 成功 Pull 并 docker images 可见
权限测试(非 root) docker ps(切换用户后) 无 permission denied

💡 京东云特别提示

  • 若使用 京东云容器服务(JDCCS)Kubernetes 托管集群(JDKE),无需手动部署 Docker —— 底层已预装并优化。
  • 日志建议对接 京东云日志服务(JDLA)Prometheus + Grafana(京东云监控) 实现可观测性。

如需我为你生成一键部署脚本(含京东云镜像源适配)Docker + Nginx + HTTPS 一键部署模板,欢迎随时告知 👍

是否需要我继续提供:

  • ✅ Docker Compose 环境部署指南?
  • ✅ 基于京东云 Registry(JCR)的私有镜像推送/拉取全流程?
  • ✅ 生产级 Nginx 反向X_X + SSL(Let’s Encrypt)自动化配置?

欢迎补充你的具体场景 😊

未经允许不得转载:云服务器 » 京东云服务器部署Docker环境需要哪些前置配置?