加油
努力

阿里云ECS CentOS系统2核4G怎么安装配置Docker?

在阿里云 ECS(CentOS 系统,2核4G)上安装和配置 Docker,推荐使用 Docker 官方仓库(yum) 方式安装(稳定、安全、易于更新)。以下是详细、经过验证的步骤(适用于 CentOS 7/8,以 CentOS 7 为主;若为 CentOS 8,请注意 yum/dnf 差异,文末已补充说明):


✅ 前提确认

  1. 登录 ECS 实例(如通过 SSH):
    ssh -i your-key.pem root@your-ecs-public-ip
  2. 确认系统版本:
    cat /etc/redhat-release
    # 示例输出:CentOS Linux release 7.9.2009 (Core)

⚠️ 注意:

  • CentOS 7 是长期支持版本,Docker 官方支持良好;
  • CentOS 8 已于 2021-12 停止维护,强烈建议升级到 CentOS Stream 8/9 或 Alibaba Cloud Linux 3(阿里云官方优化版,兼容性更好)
  • 若使用 Alibaba Cloud Linux 3(推荐!),命令几乎完全一致,且内核对容器更友好。

🐳 一、安装 Docker(官方方式,推荐)

步骤 1:卸载旧版本(如有)

sudo yum remove 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 官方 yum 源(推荐使用阿里云镜像提速,更快更稳)

# 添加官方源(默认是 https://download.docker.com/linux/centos/)
sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

# 🔁 替换为阿里云镜像源(可选但推荐,解决国内网络慢问题)
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

步骤 4:安装 Docker CE(社区版)

# 列出可用版本(可选,查看最新稳定版)
yum list docker-ce --showduplicates | sort -r

# 安装最新稳定版(推荐)
sudo yum install -y docker-ce docker-ce-cli containerd.io

# ✅ 验证安装
docker --version  # 应输出类似:Docker version 24.0.7, build afdd53b

⚙️ 二、配置与优化(关键!适配 ECS 2核4G)

步骤 1:启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker  # ✅ 确认状态为 active (running)

步骤 2:配置 Docker 镜像提速器(必做!提升拉取速度)

阿里云用户可免费获取专属提速器地址(推荐):

  1. 登录 阿里云容器镜像服务控制台 → 左侧「镜像工具」→「镜像提速器」
  2. 复制你的专属提速地址(形如 https://xxxx.mirror.aliyuncs.com

配置:

# 创建 daemon.json(若不存在)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
EOF

# 重载配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

✅ 验证镜像提速生效:

docker info | grep "Registry Mirrors" -A 2

步骤 3:(可选但推荐)配置 cgroup 驱动(避免 k8s 兼容问题)

CentOS 7 默认使用 cgroupfs,而新版 Kubernetes 推荐 systemd。若后续部署 K8s,请执行:

# 查看当前驱动
docker info | grep "Cgroup Driver"

# 修改为 systemd(编辑 daemon.json)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

步骤 4:非 root 用户运行 Docker(安全最佳实践)

# 创建 docker 组(如不存在)
sudo groupadd docker

# 将当前用户(如 root 或普通用户)加入 docker 组
sudo usermod -aG docker $USER

# 生效组权限(需重新登录或执行)
newgrp docker  # 当前会话立即生效(无需登出)

# ✅ 验证(无需 sudo)
docker run --rm hello-world
# 输出 "Hello from Docker!" 即成功 ✅

🧪 三、基础验证与常用命令

# 1. 运行测试容器
docker run -d -p 80:80 --name nginx-test nginx:alpine

# 2. 查看运行中容器
docker ps

# 3. 访问 ECS 公网 IP(浏览器打开 http://<ECS公网IP>),应看到 Nginx 欢迎页

# 4. 清理测试(可选)
docker stop nginx-test && docker rm nginx-test

📌 四、针对 2核4G ECS 的重要提醒

项目 建议
内存限制 Docker 容器默认不限制内存,建议为生产容器设置 -m 2g --memory-swap=2g,防止 OOM 影响宿主机
磁盘空间 ECS 系统盘默认 40GB,Docker 镜像/容器日志易占满。建议:
• 使用 docker system prune -a 定期清理
• 将 /var/lib/docker 挂载到独立数据盘(推荐,详见阿里云文档)
防火墙 CentOS 7 默认启用 firewalld,若容器端口无法访问:
sudo firewall-cmd --permanent --add-port=80/tcpsudo firewall-cmd --reload
或临时关闭:sudo systemctl stop firewalld(仅测试环境)
时间同步 ECS 默认已配置 NTP,但容器内时间可能偏差,可在运行时加 --privileged 或挂载 /etc/localtime

🆕 补充:CentOS 8 / Alibaba Cloud Linux 3 用户注意

  • CentOS 8yum 已被 dnf 取代,将上述 yum 命令替换为 dnf 即可(如 dnf install docker-ce),其余步骤完全一致。
  • Alibaba Cloud Linux 3(强烈推荐!)
    ✅ 阿里云深度优化,原生支持 overlay2、cgroup v2、eBPF,性能更好;
    ✅ 安装方式相同,且预装了 containerdrunc
    ✅ 内核级安全加固,更适合生产容器环境。

💡 提示:新建 ECS 时,首选「Alibaba Cloud Linux 3」镜像(免费、高性能、长周期支持)。


✅ 完成!你现在已在阿里云 ECS(CentOS/Alinux)2核4G 实例上成功安装并优化了 Docker。
下一步可部署应用(如 Nginx、MySQL、WordPress)、搭建私有 Registry,或接入阿里云容器服务 ACK。

需要我为你生成 一键安装脚本Nginx + PHP + MySQL 容器化部署方案,或 对接阿里云容器镜像服务(ACR) 的完整指南?欢迎随时告诉我 👇

云服务器