阿里云轻量应用服务器上如何安装Docker?

在阿里云轻量应用服务器(Simple Application Server)上安装 Docker,最推荐且最稳妥的方式是通过官方提供的自动化脚本进行一键安装。这种方式不仅适配了国内网络环境,还能自动处理依赖关系,避免手动配置时出现的版本冲突或权限问题。

以下是基于 CentOS 7/8、Alibaba Cloud Linux 2/3 等主流操作系统的标准操作流程。由于轻量应用服务器默认多为这些系统,以下以 CentOS 8 / Alibaba Cloud Linux 3 为例(这也是目前新建实例的默认选项),如果是 Ubuntu 或 Debian,逻辑类似但包管理器不同。

核心步骤概览

  1. 登录服务器:通过 SSH 连接你的轻量应用服务器。
  2. 执行安装脚本:使用 curl 下载并运行阿里云官方推荐的 Docker 安装脚本。
  3. 验证安装:检查 Docker 服务状态及版本。
  4. 配置镜像提速(可选但强烈建议):优化拉取速度。

详细操作指南

第一步:更新系统包(确保基础环境最新)

在执行任何安装前,先刷新本地软件包索引,确保内核和基础库是最新的。

sudo yum update -y
# 如果是 Alibaba Cloud Linux 3 或 CentOS Stream,可能使用 dnf
# sudo dnf update -y

第二步:安装 Docker Engine

阿里云轻量应用服务器通常预装了容器服务,或者允许你通过“应用镜像”直接部署 Docker 环境。如果你选择的是“Docker 应用镜像”,则无需手动安装。但如果是纯净的系统镜像,请按以下步骤操作:

方法 A:使用阿里云官方一键安装脚本(推荐)

这是最简单、出错率最低的方式。该脚本会自动添加阿里云的 Docker CE 源,并安装最新稳定版。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

注意:如果上述脚本因网络原因失败,可以尝试使用腾讯云或华为云的源,或者直接指定阿里云的 Docker CE 仓库地址。更稳定的方式是指定阿里云的 Docker CE YUM 源。

方法 B:手动配置阿里云 Docker CE 源(更可控)

如果脚本方式不可用,可以手动配置:

  1. 安装依赖:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 设置 Docker CE 仓库:

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 安装 Docker:

    sudo yum install -y docker-ce docker-ce-cli containerd.io

第三步:启动并设置开机自启

无论采用哪种安装方式,最后都需要启动服务并设置为开机自启。

# 启动 Docker 服务
sudo systemctl start docker

# 设置开机自启
sudo systemctl enable docker

# 查看 Docker 状态
sudo systemctl status docker

第四步:验证安装

运行一个简单的测试容器,确认 Docker 能正常工作。

sudo docker run hello-world

如果输出中包含 Hello from Docker! 以及相关的说明信息,则表明安装成功。

第五步:配置非 root 用户运行 Docker(安全最佳实践)

默认情况下,Docker 守护进程绑定到 Unix socket,而该 socket 属于 root 用户。因此,要运行 Docker 命令,需要使用 sudo。为了更安全、方便,建议创建一个名为 docker 的用户组,并将当前用户加入该组。

# 创建 docker 组
sudo groupadd docker

# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER

# 重启 Docker 服务使配置生效
sudo systemctl restart docker

# 重新登录 SSH 或使用 su - $USER 切换会话,即可直接使用 docker 命令无需 sudo

第六步:配置阿里云镜像提速器(关键优化)

在国内环境中,直接从 Docker Hub 拉取镜像速度极慢甚至超时。务必配置阿里云容器镜像服务(ACR)的个人版镜像提速器。

  1. 登录 阿里云控制台 -> 访问 容器镜像服务。
  2. 左侧菜单选择“镜像工具” -> “镜像提速器”。
  3. 复制页面上显示的专属提速地址(例如:https://xxxxx.mirror.aliyuncs.com)。
  4. 修改 /etc/docker/daemon.json 文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你的专属提速地址.mirror.aliyuncs.com"]
}
EOF
  1. 重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker

常见问题与注意事项

  1. 防火墙设置:
    轻量应用服务器的控制台有独立的防火墙策略。如果你需要在外部访问 Docker 容器中暴露的端口(如 80, 3000 等),除了在服务器内部放行端口外,还必须在阿里云控制台的“防火墙”标签页中添加对应的入方向规则。

  2. SELinux 问题:
    在某些 CentOS 系统中,SELinux 可能会阻止 Docker 挂载卷。如果遇到权限拒绝错误,可以临时设置 SELinux 为宽容模式进行测试:

    sudo setenforce 0

    长期解决方案是正确配置 SELinux 策略或将其永久禁用(不推荐生产环境)。

  3. Kubernetes 兼容:
    如果你计划后续使用 Kubernetes,请确保安装的 Docker 版本与 K8s 兼容。目前较新的 K8s 版本已逐步转向 containerd,Docker 作为运行时逐渐被弃用,但在轻量级应用中仍广泛可用。

  4. 资源限制:
    轻量应用服务器内存较小(如 2GB 或 4GB),运行多个容器时需注意内存占用。建议在 Docker Compose 文件中为每个服务设置 mem_limit,防止单个容器耗尽主机内存导致 OOM(Out of Memory)。

通过以上步骤,你可以在阿里云轻量应用服务器上快速、稳定地部署 Docker 环境,并为后续的微服务、Web 应用或开发测试提供坚实的基础。

未经允许不得转载:CLOUD云枢 » 阿里云轻量应用服务器上如何安装Docker?