在阿里云轻量应用服务器(Lighthouse)上部署 Docker 环境非常简单,以下是完整、安全、推荐的步骤(适用于 Ubuntu/Debian 或 CentOS/Alibaba Cloud Linux 系统,以主流 Ubuntu 22.04 为例):
✅ 前提条件
- 已购买并启动一台阿里云 轻量应用服务器(Lighthouse)
- 推荐选择:Ubuntu 22.04 / 24.04 或 Alibaba Cloud Linux 3(兼容性好、内核更新)
- 已通过 SSH 登录服务器(如
ssh root@<公网IP>) - 确保系统已更新(非必需但强烈建议)
🐳 步骤一:系统更新(推荐)
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# 或 Alibaba Cloud Linux/CentOS(使用 dnf)
sudo dnf update -y
🐳 步骤二:安装 Docker(官方推荐方式)
⚠️ 不要使用
apt install docker.io(版本旧、非官方源),推荐使用 Docker 官方仓库。
✅ Ubuntu/Debian(推荐)
# 1. 安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
# 2. 添加 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
# 3. 添加稳定版仓库(自动适配系统架构和版本)
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
# 4. 更新包索引并安装 Docker Engine + CLI + Containerd
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 5. 启动并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker
# 6. 验证安装
sudo docker --version # 如:Docker version 26.x.x
sudo docker run hello-world # ✅ 输出欢迎信息即成功
✅ Alibaba Cloud Linux 3 / CentOS Stream(同 RHEL 系列)
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker
sudo docker run hello-world
🔐 步骤三:配置非 root 用户免 sudo 运行 Docker(可选但推荐)
# 将当前用户(如 ubuntu 或 root)加入 docker 组
sudo usermod -aG docker $USER
# ⚠️ 注意:需重新登录 SSH 或执行以下命令刷新组权限
newgrp docker # 或直接退出终端重新 SSH 登录
# 验证(无需 sudo)
docker ps -a # 应正常返回空列表
✅ 提示:轻量服务器默认用户为
root(Ubuntu 镜像默认是ubuntu用户),请根据实际用户名调整。
🛡️ 步骤四:(可选)配置 Docker 镜像提速(国内必做!提升拉取速度)
阿里云提供免费镜像提速器(需登录阿里云容器镜像服务控制台 → 镜像工具 → 镜像提速器,获取专属地址,形如 https://xxxxxx.mirror.aliyuncs.com)
# 创建或编辑 daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
EOF
# 重启 Docker 生效
sudo systemctl daemon-reload
sudo systemctl restart docker
✅ 验证提速是否生效:
sudo docker info | grep "Registry Mirrors" -A 1
🧪 步骤五:测试部署一个简单服务(可选验证)
# 运行 Nginx 并映射到 8080 端口
sudo docker run -d -p 8080:80 --name my-nginx nginx:alpine
# 检查容器运行状态
sudo docker ps
# 在浏览器访问:http://<你的服务器公网IP>:8080 ➜ 应看到 Nginx 欢迎页
🔔 注意:确保轻量服务器 防火墙(安全组)已放行对应端口(如 8080)。
👉 控制台路径:轻量服务器控制台 → 实例 → 更多 → 安全组配置 → 添加规则(端口范围 8080/8080,授权对象 0.0.0.0/0)
📌 补充说明 & 最佳实践
| 项目 | 建议 |
|---|---|
| Docker Compose | 已随 docker-compose-plugin 自动安装(v2+),使用 docker compose up(注意是 compose 而非 compose) |
| 磁盘空间 | 轻量服务器默认系统盘较小(如 40GB),建议将 Docker 数据根目录迁移到数据盘(如挂载了 /data):修改 /etc/docker/daemon.json 中 "data-root": "/data/docker" |
| 日志管理 | 上面已配置 max-size: "100m",防止日志占满磁盘 |
| 定期清理 | 可添加定时任务清理无用资源:0 2 * * * docker system prune -af --volumes(每天凌晨2点) |
❌ 常见问题排查
| 现象 | 解决方案 |
|---|---|
Cannot connect to the Docker daemon |
检查 sudo systemctl status docker 是否 active;确认用户是否在 docker 组并已重登 |
Permission denied while trying to connect to Docker daemon |
执行 newgrp docker 或重新 SSH 登录 |
docker: command not found |
检查是否安装成功(which docker),或 PATH 未生效(重启 shell) |
hello-world 无法拉取 |
检查网络连通性(curl -v https://hub.docker.com)及镜像提速器配置 |
✅ 完成! 你已在阿里云轻量服务器上成功部署生产就绪的 Docker 环境。
如需进一步部署 Web 应用(如 WordPress、Next.js)、CI/CD、或搭配 Nginx 反向X_X,欢迎继续提问 👇
需要我为你生成 一键部署脚本 或 Docker Compose 示例(如 LNMP) 吗?😊
CDNK博客