在阿里云轻量应用服务器(Simple Application Server, SAS)上部署 Docker 是非常常见的操作,尤其适合个人开发者、小型项目或测试环境。由于轻量服务器通常运行的是精简版的 Linux 发行版(如 CentOS Stream、Ubuntu、Debian 等),安装过程相对标准,但需要注意网络源和内核兼容性问题。
以下是基于主流 Linux 发行版(以 Alibaba Cloud Linux 3 / CentOS Stream 和 Ubuntu 20.04/22.04 LTS 为例)的完整安装与配置指南。
一、前置准备
-
登录服务器
- 通过 SSH 客户端连接你的轻量服务器。
- 确保你有
sudo权限(root 用户或具有 sudo 权限的用户)。
-
系统更新
# Alibaba Cloud Linux / CentOS sudo yum update -y # Ubuntu / Debian sudo apt update && sudo apt upgrade -y -
确认内核版本
Docker 要求内核版本 ≥ 3.10,建议使用较新的稳定内核。uname -r
二、卸载旧版本(如有)
如果之前安装过旧版 Docker 或 docker-engine,建议先清理:
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
# Ubuntu 类似命令
sudo apt-get remove docker docker-engine docker.io containerd runc
⚠️ 注意:卸载不会删除镜像、容器、卷或自定义配置文件,数据仍保留在
/var/lib/docker。
三、安装 Docker Engine
推荐使用官方仓库安装,确保获取最新稳定版本。
方案 A:使用阿里云镜像源提速(推荐国内用户)
由于默认 Docker 官方源在国内访问较慢,可替换为阿里云镜像源。
1. 安装依赖
# Alibaba Cloud Linux / CentOS
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Ubuntu / Debian
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
2. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/static/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3. 设置稳定版仓库(使用阿里云镜像)
# 创建仓库文件
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 对于 Alibaba Cloud Linux / CentOS,需手动构建 repo 文件:
cat <<EOF | sudo tee /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - Alibaba Cloud
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$(uname -r)/x86_64/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
📌 注意:Alibaba Cloud Linux 3 基于 CentOS Stream 9,路径可能略有不同,若上述 repo 无效,可尝试使用 CentOS 9 的路径或改用
dnf。
4. 安装 Docker
# Ubuntu
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# Alibaba Cloud Linux / CentOS
sudo yum install -y docker-ce docker-ce-cli containerd.io
四、启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
验证安装是否成功:
docker --version
sudo docker run hello-world
如果看到 “Hello from Docker!” 输出,说明安装成功。
五、配置非 root 用户使用 Docker(可选但推荐)
默认情况下,只有 root 用户可以运行 Docker 命令。为避免频繁使用 sudo,可将当前用户加入 docker 组:
sudo groupadd docker
sudo usermod -aG docker $USER
⚠️ 需要重新登录或执行
newgrp docker使组生效。
六、优化配置(针对轻量服务器资源有限场景)
轻量服务器内存较小(如 2GB),建议进行以下优化:
1. 限制 Docker 资源使用
编辑 /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"live-restore": true,
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 65536,
"Soft": 65536
}
}
}
然后重启 Docker:
sudo systemctl restart docker
2. 启用 Swap(可选,防止 OOM)
轻量服务器若无 Swap,容器可能因内存不足被杀。可临时增加 Swap:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
七、安全与防火墙配置
阿里云轻量服务器自带安全组规则,需在控制台开放所需端口(如 80、443、3306 等)。
Docker 本身不直接监听外部端口,除非你映射了端口(如 -p 80:80)。因此:
- 不要关闭 firewalld/ufw,保持默认策略。
- 仅通过安全组开放必要端口。
- 避免将 Docker API 暴露到公网(默认 Unix socket,无风险)。
八、常见问题排查
| 问题 | 解决方案 |
|---|---|
Cannot connect to the Docker daemon |
检查 systemctl status docker,确保服务运行;检查权限。 |
permission denied |
确认用户已加入 docker 组并重新登录。 |
| 拉取镜像慢 | 配置阿里云镜像提速器:{"registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]} 加入 /etc/docker/daemon.json |
| 容器启动失败 | 查看日志:docker logs <container_name> |
九、补充:使用 Docker Compose(可选)
若需管理多容器应用,建议安装 Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
总结
在阿里云轻量服务器上安装 Docker 的核心步骤为:
- 更新系统;
- 配置阿里云镜像源提速;
- 安装 Docker CE、CLI、Containerd;
- 启动服务并设置开机自启;
- 优化资源限制与安全策略。
此方案适用于绝大多数轻量服务器场景,兼顾性能、安全与易用性。如需更高可用性,建议后续迁移至 ECS 集群或使用 ACK(容器服务 Kubernetes 版)。
CLOUD云枢