在京东云(JD Cloud)的 CentOS 系统中“一键安装” Docker 和 Docker Compose,虽无官方“一键脚本”,但可通过安全、可靠、符合最佳实践的自动化命令组合实现快速部署。以下是适用于 CentOS 7/8(推荐 CentOS 7,因 CentOS 8 已 EOL;京东云新实例建议选 CentOS Stream 或 Rocky/AlmaLinux,但本文兼容主流京东云 CentOS 镜像) 的完整、可复制粘贴的一键式安装方案:
✅ 前提确认(执行前请检查)
# 查看系统版本(京东云常见为 CentOS 7.x)
cat /etc/os-release | grep -E "NAME|VERSION"
# 确保已更新系统 & 具备 root 权限
sudo su -
yum update -y
🚀 【真正一键执行】—— 复制以下整段命令,粘贴到终端回车即可(含错误处理)
# ✅ 一键安装 Docker + Docker Compose(v2.x,原生二进制,非 pip 安装)
{
# 1️⃣ 卸载旧版(如有)
yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 2️⃣ 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3️⃣ 添加 Docker 官方 yum 源(京东云国内访问稳定,用官方源更安全)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4️⃣ 安装 Docker CE(最新稳定版)
yum install -y docker-ce docker-ce-cli containerd.io
# 5️⃣ 启动并设置开机自启
systemctl start docker
systemctl enable docker
# 6️⃣ 验证 Docker(非必须,但用于快速确认)
docker --version && echo "✅ Docker 安装成功"
# 7️⃣ 安装 Docker Compose v2(作为 CLI 插件,推荐方式,无需 python/pip)
# 下载最新稳定版(自动检测架构:x86_64 / aarch64)
ARCH=$(uname -m)
case $ARCH in
x86_64) DOCKER_COMPOSE_ARCH="amd64" ;;
aarch64) DOCKER_COMPOSE_ARCH="arm64" ;;
*) echo "❌ 不支持的架构: $ARCH"; exit 1 ;;
esac
COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/1/')
curl -L "https://github.com/docker/compose/releases/download/v${COMPOSE_VERSION}/docker-compose-linux-${DOCKER_COMPOSE_ARCH}" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 8️⃣ 创建软链接(确保 docker compose(带空格)可用)
ln -sf /usr/local/bin/docker-compose /usr/local/bin/docker-compose-plugin
# 9️⃣ 验证 Compose
docker compose version && echo "✅ Docker Compose v2 安装成功"
# 🔟 (可选)添加当前用户到 docker 组(避免每次 sudo)
usermod -aG docker $(whoami)
echo "💡 提示:请退出终端重新登录,或执行 'newgrp docker' 以生效免 sudo 权限"
} 2>&1 | tee /tmp/docker-install.log
echo -e "n🎉 安装完成!日志已保存至 /tmp/docker-install.log"
echo "💡 验证命令:docker info | head -5 && docker compose version"
✅ 验证是否成功
# 重启会话后(或执行 newgrp docker),运行:
docker run hello-world # 测试 Docker 运行容器
docker compose version # 应显示 v2.x.x
⚠️ 重要说明与京东云适配提示
| 项目 | 说明 |
|——|——|
| 网络环境 | 京东云内网可直连 download.docker.com,无需配置X_X;如遇超时,可临时换阿里云镜像源(见下方备选) |
| CentOS 8 支持 | CentOS 8 已于 2021-12 停止维护,强烈建议京东云新购实例选择 CentOS Stream 8/9 或 Rocky Linux 8/9;本脚本在 Stream 8+ 上同样适用(仅需将 yum 替换为 dnf) |
| Docker Compose 版本 | 使用 v2(CLI 插件模式),是 Docker 官方推荐方式,docker compose up 语法统一,优于已废弃的 docker-compose(v1) |
| 权限安全 | 脚本默认不自动加入 docker 组,最后一行提示手动操作,避免提权风险 |
🔧 备选:若官方源慢(京东云极少发生),可切换为清华源(仅 Docker)
# 替换第3步(在脚本中修改):
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
📌 后续建议(京东云场景)
- ✅ 开通安全组:放行需暴露的端口(如 80/443/8080)
- ✅ 挂载云硬盘:将
/var/lib/docker迁移到高性能云盘(提升 I/O) - ✅ 配置镜像提速器(提升拉取速度):
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } EOF systemctl restart docker
需要我为你生成 Shell 脚本文件(.sh)下载链接、Ansible Playbook 版本,或 集成 Nginx + WordPress 的 docker-compose.yml 示例?欢迎随时告诉我 👇
祝你在京东云上 Docker 驰骋无忧!🚀
PHPWP博客