京东云Ubuntu 20.04安装Docker推荐使用官方脚本吗?

在京东云(JD Cloud)的 Ubuntu 20.04 实例上安装 Docker,不推荐直接使用 Docker 官方一键脚本(curl -fsSL https://get.docker.com | sh)用于生产环境,但可谨慎用于快速验证或开发测试环境。以下是详细分析与推荐方案:

推荐做法(生产/稳定环境):
使用 Docker 官方 APT 仓库 + 系统包管理器安装(即 apt 方式),这是 Ubuntu 官方和 Docker 官方共同推荐的、最安全、可审计、易升级、兼容性最佳的方式。

✅ 推荐安装步骤(Ubuntu 20.04,京东云适用):

# 1. 更新系统并安装必要依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release

# 2. 添加 Docker 官方 GPG 密钥(使用可信密钥服务器)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 3. 添加稳定版官方仓库(注意:Ubuntu 20.04 代号为 focal)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. 更新 APT 索引并安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 5. 启动并启用服务
sudo systemctl enable docker
sudo systemctl start docker

# 6. (可选)将当前用户加入 docker 组,避免每次 sudo(需重新登录或执行 newgrp)
sudo usermod -aG docker $USER
# 注:执行后需退出终端重登,或运行 `newgrp docker` 生效

# 7. 验证安装
docker --version
sudo docker run hello-world  # 首次运行需 sudo(若未加 docker 组)

⚠️ 为什么不推荐 get.docker.com 脚本?

  • 缺乏审计与可控性:脚本自动下载、解析、执行,难以审查具体行为(如是否修改系统配置、添加第三方源等);
  • 绕过包管理器:无法通过 apt upgrade 统一管理更新,易造成版本碎片化;
  • 权限过高风险:脚本以 root 执行,存在潜在安全风险(尤其在不可信网络环境);
  • 京东云特殊性:部分云平台(包括京东云)可能对内核模块、cgroup v2、SELinux/AppArmor 等有定制,官方 APT 包经过更充分的 Ubuntu 20.04 兼容性测试,而脚本可能跳过适配检查。

💡 京东云特别提示:

  • Ubuntu 20.04 默认使用 cgroup v2,Docker 20.10+ 已原生支持,无需额外配置(旧版 Docker 可能需 systemd.unified_cgroup_hierarchy=0 内核参数,但官方 APT 源已解决);
  • 京东云实例通常使用标准 Linux 内核(≥5.4),满足 Docker 运行要求;
  • 如需容器镜像提速,可配置国内镜像源(如阿里云、中科大或京东云自建 registry),不影响安装方式选择

补充建议(京东云生产环境):

  • ✅ 启用 containerd(已随 docker-ce 自动安装);
  • ✅ 配置 /etc/docker/daemon.json 使用镜像提速器(例如):
    {
      "registry-mirrors": ["https://xxxx.mirror.jdcloud.com"]  // 替换为京东云提供的镜像地址(如有),或使用公共镜像如 https://docker.mirrors.ustc.edu.cn
    }

    然后 sudo systemctl restart docker

  • ✅ 定期 sudo apt update && sudo apt upgrade docker-ce* 保持更新;
  • ✅ 生产环境建议使用 docker-compose 的独立二进制安装(而非 pip 或旧版 apt 包),或直接使用 docker compose plugin(已包含在上述安装中)。

✅ 总结:
| 方式 | 是否推荐 | 说明 |
|———————|———-|———————————-|
| 官方 APT 仓库安装 | ✅ 强烈推荐 | 安全、可控、可维护、符合 Ubuntu 最佳实践 |
| get.docker.com 脚本 | ⚠️ 仅限临时/测试 | 快速体验可用,但不建议用于京东云生产环境 |

如需进一步自动化(如 Terraform/Ansible 部署),也应基于 APT 方式封装,而非调用 shell 脚本。

需要我为你提供 Ansible Playbook 或 Shell 自动化安装脚本模板吗? 😊

未经允许不得转载:CCLOUD博客 » 京东云Ubuntu 20.04安装Docker推荐使用官方脚本吗?