在京东云(JD Cloud)的 Linux 服务器(如 CentOS 7/8、Ubuntu 20.04/22.04 等)上部署 Docker 环境,可按以下标准化、安全、生产就绪的方式操作。以下以 Ubuntu 22.04 LTS 和 CentOS 7 为例(京东云主流镜像),步骤已适配京东云网络环境(无需额外X_X,但需确保系统更新源可用)。
✅ 前置准备
-
登录服务器
ssh -i your-key.pem ubuntu@<公网IP> # Ubuntu # 或 ssh -i your-key.pem centos@<公网IP> # CentOS 7 -
升级系统并安装基础工具
# Ubuntu 22.04 sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget gnupg2 ca-certificates software-properties-common # CentOS 7 sudo yum update -y sudo yum install -y yum-utils curl wget gcc make kernel-devel epel-release -
确认内核版本(Docker 要求 ≥ 3.10,京东云默认满足)
uname -r # 应显示类似 5.15.0-xx-generic 或 3.10.0-xx.el7.x86_64
🐳 方式一:推荐 —— 使用官方 Docker APT/YUM 仓库(稳定、易维护)
▶ Ubuntu 22.04(推荐)
# 1. 添加 Docker 官方 GPG 密钥(京东云国内访问稳定)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 2. 添加稳定版仓库(自动适配架构)
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 docker-buildx-plugin docker-compose-plugin
# 4. 启动并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker
# 5. 验证安装
sudo docker --version # e.g., Docker version 24.0.7
sudo docker run hello-world # 下载并运行测试容器(首次会拉取镜像)
▶ CentOS 7(注意:CentOS 7 已 EOL,京东云仍广泛使用;Docker CE 最高支持至 24.0.x)
# 1. 设置仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 2. 安装 Docker CE(指定版本更稳妥,避免依赖冲突)
sudo yum install -y docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io docker-buildx-plugin docker-compose-plugin
# 3. 启动服务
sudo systemctl enable docker
sudo systemctl start docker
# 4. 验证
sudo docker --version
sudo docker run hello-world
⚠️ 若遇
containerd启动失败(常见于 CentOS 7 内核),可临时启用 overlay2 存储驱动:echo '{ "storage-driver": "overlay2", "log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "3"} }' | sudo tee /etc/docker/daemon.json sudo systemctl restart docker
🔐 可选:配置非 root 用户使用 Docker(提升安全性 & 便捷性)
# 将当前用户加入 docker 组(Ubuntu/CentOS 通用)
sudo usermod -aG docker $USER
# 退出 SSH 重新登录,或刷新组权限(当前会话)
newgrp docker
# 验证(无需 sudo)
docker ps -a
🌐 京东云特别注意事项
| 项目 | 说明 |
|---|---|
| 镜像提速(可选但推荐) | 京东云提供 Docker Hub 镜像提速服务:sudo mkdir -p /etc/dockerecho '{"registry-mirrors": ["https://jdcprod-docker-mirror.jdcloud.com"]}' | sudo tee /etc/docker/daemon.jsonsudo systemctl restart docker |
| 安全组配置 | 如需远程 Docker API(不推荐生产开启),请在京东云控制台开放 TCP 2375/2376 端口,并配置 TLS 认证(强烈建议仅内网或通过 SSH 隧道访问)。 |
| 云硬盘挂载 | 若需持久化数据(如 MySQL、Nginx 配置),建议将 /var/lib/docker 迁移到京东云高性能云硬盘(需先停止 Docker,迁移目录并修改 daemon.json 的 data-root)。 |
🧪 部署验证(完整检查清单)
# 1. 服务状态
sudo systemctl status docker
# 2. Docker 版本与 info
docker version
docker info | grep -E "(Kernel|Storage|Cgroup)"
# 3. 运行一个 Nginx 测试容器(暴露 8080 端口)
docker run -d -p 8080:80 --name web-test nginx:alpine
curl http://localhost:8080 # 应返回 Nginx 欢迎页
# 4. 查看京东云公网 IP + 8080 是否可访问(需安全组放行 8080)
📌 补充:一键脚本(Ubuntu 22.04 示例)
保存为 install-docker.sh 并执行:
#!/bin/bash
set -e
echo "🚀 正在安装 Docker..."
sudo apt update
sudo apt install -y curl gnupg2 software-properties-common
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker && sudo systemctl start docker
sudo usermod -aG docker $USER
echo "✅ Docker 安装完成!请退出并重新登录,然后运行 'docker run hello-world'"
✅ 完成! 你的京东云 Linux 服务器已具备生产级 Docker 运行环境。后续可部署容器化应用(如 Nginx、MySQL、Spring Boot)、使用 Docker Compose 编排多服务,或接入京东云容器服务(JDCloud Kubernetes Service)实现集群管理。
需要我为你生成:
- Docker Compose 部署 WordPress + MySQL 示例?
- 将 Docker 迁移到京东云云硬盘的详细步骤?
- 配置 HTTPS + Nginx 反向X_X + Let’s Encrypt?
欢迎随时提出 👇
CLOUD云枢