如何在京东云CentOS系统中一键安装Docker和Docker Compose?

在京东云(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/9Rocky 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 驰骋无忧!🚀