阿里云ECS 2核4G部署Docker需要提前安装哪些依赖?

在阿里云 ECS(2 核 4G)上部署 Docker,核心依赖其实非常明确。Docker 本身是一个轻量级容器引擎,不需要像传统虚拟机那样安装复杂的底层驱动或额外的运行时库。只要操作系统内核支持且资源足够,直接安装即可。

以下是基于国内主流 Linux 发行版(CentOS 7/8, Ubuntu 20.04/22.04, Debian)的标准操作流程和注意事项:

1. 系统前置检查

2 核 4G 的配置对于运行 Docker 来说完全足够,但需要确保以下几点:

  • 内核版本:Docker 要求 Linux 内核版本大于等于 3.10。阿里云 ECS 默认镜像的内核通常都满足此要求。
  • 内存预留:虽然 4G 内存充裕,但建议预留至少 512MB-1GB 给宿主机系统,避免容器启动时 OOM(Out Of Memory)。
  • 网络环境:ECS 安全组必须放行相关端口(如 SSH 的 22 端口,以及未来容器映射的端口),否则无法拉取镜像或访问服务。

2. 官方推荐安装方式(无需额外依赖包)

目前 Docker 官方不再推荐使用 yum install docker 这种旧方式(版本往往较老且功能受限),而是推荐通过官方脚本或添加官方源来安装最新稳定版。

场景 A:CentOS 7 / 8 (阿里云最常见)

不需要手动安装 gcc、make 等编译工具链,只需安装 yum-utils(用于管理仓库)并配置 Docker 源。

# 1. 清理旧版本(如果有)
sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 2. 安装必要工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 3. 添加官方 Docker 仓库 (注意:国内用户若拉取镜像慢,可后续配置阿里云镜像提速器)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 4. 安装 Docker CE 及 CLI
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

场景 B:Ubuntu 20.04 / 22.04

同样不需要安装 C++ 编译器,直接使用 apt 源。

# 1. 更新包索引
sudo apt-get update

# 2. 安装必要的依赖(apt 会自动处理 curl, gnupg, lsb-release)
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 3. 创建密钥目录并导入 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 4. 设置仓库
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. 启动服务
sudo systemctl start docker
sudo systemctl enable docker

3. 国内环境特别优化(关键步骤)

由于物理网络原因,直接从 Docker Hub 拉取镜像速度极慢甚至超时。在阿里云 ECS 上,强烈建议进行以下配置,这不属于“依赖安装”,但属于“部署前必做”:

  1. 配置阿里云镜像提速器
    登录阿里云控制台 -> 容器镜像服务 (ACR) -> 获取个人专属提速地址。
    修改 /etc/docker/daemon.json(若无则新建):

    {
      "registry-mirrors": ["https://your-accelerator-id.mirror.aliyuncs.com"]
    }

    注:请将 your-accelerator-id 替换为你实际申请的地址。
    重启 Docker:sudo systemctl daemon-reload && sudo systemctl restart docker

  2. 开启 Swap(可选)
    如果后续要运行 Java 等重型应用,4G 内存可能略显紧张。可以在 /etc/sysctl.conf 中设置 vm.swappiness=1,或者根据监控情况临时增加 Swap 分区,防止容器因内存不足被杀。

4. 常见误区澄清

  • 不需要安装 GCC/G++:Docker 是预编译的二进制程序,安装后直接运行,无需源码编译环境。除非你要从源码编译 Docker 本身,否则不需要这些开发工具。
  • 不需要安装 KVM/QEMU:Docker 是基于 Namespace 和 Cgroups 的技术,直接运行在宿主内核上,与虚拟化层无关。
  • SELinux/AppArmor:CentOS 默认开启 SELinux,Ubuntu 默认开启 AppArmor。Docker 安装后通常能自动适配,一般无需关闭,除非遇到特定的权限报错。

总结

在阿里云 ECS 2 核 4G 上部署 Docker,本质上只需要安装 Docker Engine 二进制包及其依赖库(containerd.io)。只要按照上述官方脚本操作,即可完成环境搭建。真正的“门槛”在于后续配置国内镜像提速器以解决拉取速度问题,而非系统层面的依赖缺失。

未经允许不得转载:CLOUD云枢 » 阿里云ECS 2核4G部署Docker需要提前安装哪些依赖?