在京东云(JD Cloud)服务器上部署 Docker 环境,需完成一系列前置配置以确保安全、稳定、高效运行。以下是详细、实用的前置配置清单(适用于主流 Linux 发行版,如 CentOS 7/8、Ubuntu 20.04/22.04):
✅ 一、基础系统准备
-
选择合适的实例规格与镜像
- 推荐:≥2 核 CPU、4GB 内存(Docker + 容器应用建议最低配置)
- 镜像:优先选用京东云官方 「Ubuntu 22.04 LTS」 或 「CentOS 7.9/8 Stream」(注意:CentOS 8 已停止维护,推荐 CentOS Stream 8/9 或 Ubuntu)
- 存储:系统盘 ≥ 50GB(建议 SSD 类型),若需持久化存储容器数据,可额外挂载高性能云硬盘(如 Ultra SSD)
-
完成基础系统初始化
# 更新系统(Ubuntu) sudo apt update && sudo apt upgrade -y # 或(CentOS/RHEL) sudo yum update -y # CentOS 7 sudo dnf update -y # CentOS 8+/RHEL 8+ -
配置时区与时间同步(关键!避免证书/日志异常)
sudo timedatectl set-timezone Asia/Shanghai sudo systemctl enable chronyd # CentOS/RHEL sudo systemctl enable systemd-timesyncd # Ubuntu sudo systemctl start chronyd || sudo systemctl start systemd-timesyncd
✅ 二、安全与权限前置配置
-
创建非 root 管理用户(强烈推荐)
sudo useradd -m -s /bin/bash dockeradmin sudo passwd dockeradmin sudo usermod -aG sudo dockeradmin # Ubuntu(或 wheel 组 for CentOS) sudo usermod -aG docker dockeradmin # 后续安装 Docker 后执行(见下文) -
配置防火墙(按需开放端口)
- 默认关闭不必要的端口,仅开放业务必需端口(如 22、80、443、自定义服务端口)
-
Docker 默认使用
iptables管理规则,避免与 firewalld/ufw 冲突:# Ubuntu:停用 ufw(若启用) sudo ufw disable # CentOS:停用 firewalld(推荐,因 Docker 与 firewalld 兼容性复杂) sudo systemctl stop firewalld sudo systemctl disable firewalld # ✅ 替代方案:使用 iptables-services(CentOS 7)或 nftables(CentOS 8+)
-
配置 SSH 安全(生产环境必做)
- 禁用 root 远程登录:
PermitRootLogin no - 启用密钥认证、禁用密码登录
- 修改默认 SSH 端口(可选)
🔐 建议通过京东云控制台「密钥对」功能绑定并登录,提升安全性。
- 禁用 root 远程登录:
✅ 三、Docker 专属前置依赖
-
卸载可能冲突的旧容器工具(如有)
# 卸载旧版 docker(如果存在) sudo apt remove docker docker-engine docker.io containerd runc -y # 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 -y # CentOS -
安装必要依赖包
# Ubuntu sudo apt install -y ca-certificates curl gnupg lsb-release iptables # CentOS 7/8+ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 curl wget iptables-services # CentOS 8+ 可能需启用 PowerTools/EPEL sudo dnf config-manager --set-enabled powertools # RHEL/CentOS 8 sudo dnf install epel-release -y -
配置国内镜像源(大幅提升下载速度 & 可靠性)
-
Docker Engine 官方源 → 替换为 京东云镜像站 或 阿里云/清华源(京东云内网访问京东云镜像最快)
# 推荐:京东云镜像提速地址(内网免流量、低延迟) # https://docker-mirror.jdcloud.com # 配置 Docker CE 仓库(Ubuntu 示例): 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://docker-mirror.jdcloud.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
✅ 四、内核与网络优化(可选但推荐)
-
确认内核版本兼容性
- Docker 要求 Linux 内核 ≥ 3.10(京东云主流镜像均满足)
- 检查:
uname -r - ✅ 建议启用
overlay2存储驱动(现代内核默认支持)
-
配置 IP 转发与桥接(尤其用于 Swarm / 自定义网络)
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf echo 'net.bridge.bridge-nf-call-iptables = 1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 如提示 missing module,加载 br_netfilter: sudo modprobe br_netfilter -
配置 Docker daemon 镜像提速与日志(/etc/docker/daemon.json)
{ "registry-mirrors": ["https://docker-mirror.jdcloud.com"], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "storage-driver": "overlay2", "insecure-registries": [] // 生产环境勿轻易添加 }⚠️ 创建后需
sudo systemctl restart docker生效。
✅ 五、验证与后续建议
-
✅ 安装后验证:
sudo docker version sudo docker run --rm hello-world sudo docker info | grep "Registry Mirrors|Storage Driver|Cgroup Driver" -
✅ 推荐后续操作:
- 安装
docker-compose(v2.x,推荐从 GitHub Release 下载二进制或pipx安装) - 配置
systemd服务开机自启(通常已默认启用) - 使用京东云「容器服务 JDCloud Kubernetes Service (JKS)」或「云容器引擎 CCE」替代自建 Docker,享受托管、监控、弹性伸缩等企业级能力
- 对接京东云「镜像仓库 JCR」实现私有镜像安全托管与 CI/CD 集成
- 安装
| 📌 总结:关键前置项速查表 | 类别 | 必做项 |
|---|---|---|
| ✅ 系统 | 选择 LTS 镜像、更新系统、设置时区/时间同步 | |
| ✅ 安全 | 创建普通用户、禁用 firewalld/ufw、加固 SSH | |
| ✅ 依赖 | 安装 curl, iptables, ca-certificates 等 |
|
| ✅ 镜像源 | 配置京东云 Docker 镜像提速(docker-mirror.jdcloud.com) |
|
| ✅ 内核网络 | 开启 ip_forward、加载 br_netfilter |
|
| ✅ Docker 配置 | /etc/docker/daemon.json 设置镜像源与日志 |
如需我为你生成一键初始化脚本(适配 Ubuntu 22.04 / CentOS 7) 或 京东云 JCR 私有仓库对接指南,欢迎随时提出 👍
是否需要我为你提供完整可执行的 shell 脚本?
CLOUD技术博