直接上干货。在阿里云轻量应用服务器(Simple Application Server, SAS)上装 Docker,核心就两步:换源/升级内核 和 执行官方安装脚本。
很多新手踩坑是因为直接用 CentOS 7 或 Ubuntu 18.04 这种老版本镜像,导致依赖包缺失或者内核不支持 cgroups v2。下面分两种主流情况操作,请对号入座。
情况一:你用的是 Ubuntu 系统(推荐)
Ubuntu 是 Docker 支持最好的发行版之一,步骤最简。
-
登录服务器
通过 SSH 连接你的轻量应用服务器。 -
卸载旧版本(如果有)
sudo apt-get remove docker docker-engine docker.io containerd runc注:全新安装的 Ubuntu 通常没有这些,跳过也行。
-
更新包索引并安装依赖
sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release -
添加 Docker 官方 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 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 -
再次更新并安装 Docker Engine
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -
验证安装
sudo docker run hello-world看到
Hello from Docker!就说明成功了。 -
非 root 用户权限设置(可选但推荐)
默认 Docker 命令需要 sudo。为了方便,可以把当前用户加入 docker 组:sudo usermod -aG docker $USER注意:修改后需要重新登录 SSH 才能生效。
情况二:你用的是 CentOS/Rocky/AlmaLinux 系统
轻量应用服务器默认镜像很多是 CentOS 7 或 Stream 9。CentOS 7 已经 EOL(停止维护),Docker 新版对其支持有限,建议尽量用 CentOS Stream 8/9 或 Rocky Linux 8/9。
-
安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 -
设置稳定仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装 Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -
启动并设置开机自启
sudo systemctl start docker sudo systemctl enable docker -
验证
sudo docker run hello-world
⚠️ 关键注意事项(避坑指南)
-
防火墙问题
轻量应用服务器有自带的“防火墙”设置(在阿里云控制台网页里),也有服务器内部的firewalld或ufw。- 如果你要在外部访问容器端口(比如 80, 3000, 8080),必须在阿里云控制台的“防火墙”规则中放行对应端口。
- 服务器内部防火墙也要放行,否则本地能通,网络不通。
-
Swap 分区警告
Docker 在新版中对 Swap 比较敏感。如果安装过程中提示WARNING: SWAP usage is not recommended,可以忽略,或者通过修改/etc/docker/daemon.json来禁用这个检查:{ "live-restore": true, "exec-opts": ["native.cgroupdriver=systemd"] }然后重启 Docker:
sudo systemctl restart docker -
网络模式
轻量应用服务器通常是 NAT 网络,IP 是内网 IP,公网 IP 由阿里云映射。Docker 容器默认桥接模式(bridge)是可以正常上网的,不需要额外配置。如果你需要用 host 模式,确保端口不冲突即可。 -
数据持久化
不要直接把重要数据存在容器里!容器删了数据就没了。务必使用-v挂载宿主机目录,或者使用 Docker Volume。
例如:docker run -d -p 80:80 -v /opt/html:/usr/share/nginx/html nginx -
关于 Docker Compose
现在推荐的写法是docker compose(无连字符),它是作为插件安装的。使用时直接运行:docker compose up -d而不是旧的
docker-compose up -d。
总结
- 选 Ubuntu:省心,依赖少,社区文档多。
- 选 CentOS:习惯 RHEL 系的话可以用,但注意版本不要太老。
- 装完必做:加防火墙白名单、设置非 root 用户权限、配置数据卷挂载。
按上面步骤走,基本不会翻车。如果遇到具体报错,把错误信息贴出来再查。
CLOUD云计算