在京东云(JD Cloud)主机(即云服务器,CVM)上部署 Docker 环境,整体流程与标准 Linux 服务器类似。以下是详细、安全、生产就绪的部署步骤(以主流 CentOS 7/8 或 Ubuntu 20.04/22.04 为例),涵盖环境准备、Docker 安装、基础配置及验证。
✅ 前提条件
- 已开通京东云账号,并成功创建一台 Linux 云服务器(CVM)(推荐:CentOS 7.9+ / Ubuntu 20.04+,内存 ≥2GB,系统盘 ≥40GB)
- 已通过 SSH 登录服务器(如
ssh -i key.pem root@your-server-ip) - 确保服务器网络通畅(可访问公网,用于下载 Docker 官方包)
🐳 一、系统准备(推荐执行)
# 1. 更新系统(CentOS)
sudo yum update -y
# 或 Ubuntu
sudo apt update && sudo apt upgrade -y
# 2. 安装必要依赖(CentOS)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Ubuntu
sudo apt install -y curl gnupg2 software-properties-common ca-certificates
# 3. 卸载旧版 Docker(如有)
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 2>/dev/null || true
# Ubuntu
sudo apt remove docker docker-engine docker.io containerd runc 2>/dev/null || true
🚀 二、安装 Docker(推荐使用官方源)
✅ 方式1:官方仓库安装(最稳定,推荐)
▶️ CentOS/RHEL 系统:
# 添加 Docker 官方 YUM 源(阿里云镜像提速,国内更快)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 清理缓存并安装最新稳定版
sudo yum makecache
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设为开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证
sudo docker --version
sudo docker run hello-world # 首次运行会拉取镜像并输出欢迎信息
▶️ Ubuntu 系统:
# 添加 GPG 密钥和仓库
curl -fsSL https://mirrors.aliyun.com/docker-ce/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://mirrors.aliyun.com/docker-ce/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
# 启动服务
sudo systemctl start docker
sudo systemctl enable docker
# 验证
sudo docker --version
sudo docker run hello-world
💡 提示:使用
https://mirrors.aliyun.com可显著提升国内下载速度(京东云同属国内网络,效果佳)。
🔐 三、安全与权限优化(重要!)
1. 将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER
# ⚠️ 注意:需重新登录 SSH 或执行以下命令刷新组权限
newgrp docker # 或直接退出重连 SSH
✅ 验证(无需 sudo):
docker ps # 应正常显示空容器列表
2. 配置 Docker 镜像提速器(强烈推荐,解决 pull 缓慢问题)
京东云用户可选用:
-
阿里云镜像提速器(免费注册获取)👉 https://cr.console.aliyun.com
-
或使用公开提速地址(临时可用):
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "live-restore": true } EOF sudo systemctl daemon-reload sudo systemctl restart docker
✅ 验证提速是否生效:
sudo docker info | grep "Registry Mirrors" -A 5
🛠 四、(可选)安装 Docker Compose(v2 推荐)
Docker Compose v2 已集成进 docker compose(非 docker-compose 命令):
# Ubuntu/CentOS 均可使用:
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d" -f4)
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链接(兼容旧脚本)
sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
# 验证
docker-compose --version # 或 docker compose version(v2+)
✅ 注:Docker Desktop 已弃用独立
docker-compose二进制;生产环境建议用docker compose(需 Docker Engine ≥20.10)。
🧪 五、快速验证部署成功
# 1. 查看 Docker 状态
sudo systemctl status docker
# 2. 运行测试容器
docker run -d -p 8080:80 --name nginx-test nginx:alpine
curl http://localhost:8080 # 应返回 Nginx 欢迎页 HTML
# 3. 查看运行中容器
docker ps
# 4. 清理测试(可选)
docker stop nginx-test && docker rm nginx-test
docker image prune -f
📌 六、京东云特别注意事项
| 项目 | 说明 |
|---|---|
| 🔒 安全组 | ✅ 务必在京东云控制台 → 安全组 中放行所需端口(如 8080, 2375/2376 若需远程 API)⚠️ 不建议开放 2375(未加密),如需远程管理请启用 TLS 认证 |
| 💾 磁盘空间 | Docker 默认存储在 /var/lib/docker,建议挂载独立数据盘(京东云可在线扩容或挂载新云硬盘),并修改 daemon.json 指定 data-root |
| 🌐 网络模式 | 京东云 CVM 使用 VPC 网络,Docker 默认 bridge 模式与宿主机网络隔离,容器可通过宿主机端口映射访问;如需容器直通 VPC 网络,可考虑 macvlan 或 ipvlan(高级场景) |
| 📈 监控告警 | 可接入京东云 云监控(Cloud Monitor),自定义采集 docker stats 数据或部署 Prometheus + cAdvisor |
📚 附:一键脚本(可选,谨慎使用)
将以下内容保存为 install-docker.sh,上传至服务器后执行:
#!/bin/bash
# 京东云 Docker 一键安装脚本(Ubuntu/CentOS 自适应)
set -e
detect_os() {
if command -v lsb_release >/dev/null; then
DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
elif [ -f /etc/os-release ]; then
DISTRO=$(grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')
else
echo "无法识别操作系统,退出。"
exit 1
fi
}
install_docker_ubuntu() {
apt update
apt install -y curl gnupg2 software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | 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://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io
}
install_docker_centos() {
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
}
main() {
detect_os
case $DISTRO in
ubuntu|debian) install_docker_ubuntu ;;
centos|rhel|almalinux|rocky) install_docker_centos ;;
*) echo "不支持的系统:$DISTRO"; exit 1 ;;
esac
systemctl enable docker && systemctl start docker
usermod -aG docker $USER
echo '{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}' > /etc/docker/daemon.json
systemctl daemon-reload && systemctl restart docker
echo "✅ Docker 安装完成!请重新登录 SSH 或执行 'newgrp docker'。"
}
main "$@"
运行:
chmod +x install-docker.sh
./install-docker.sh
✅ 至此,你的京东云主机已成功部署生产级 Docker 环境!
下一步可部署应用(如 Nginx、MySQL、Spring Boot)、搭建私有 Registry,或接入 CI/CD(如 Jenkins/GitLab Runner)。
需要我为你提供:
- 🐳 Docker 部署 Spring Boot 的完整示例?
- 🌐 在京东云上搭建 Harbor 私有镜像仓库?
- ☁️ 结合京东云对象存储(JSO)做镜像备份?
- 📊 Docker + Prometheus + Grafana 监控方案?
欢迎随时告诉我 👇 我可为你定制化输出!
云服笔记