在阿里云 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 上,强烈建议进行以下配置,这不属于“依赖安装”,但属于“部署前必做”:
-
配置阿里云镜像提速器:
登录阿里云控制台 -> 容器镜像服务 (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 -
开启 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云枢