在阿里云轻量应用服务器(Lighthouse)上部署 Docker 环境非常简单,以下是完整、安全、生产就绪的步骤指南(以 Ubuntu 22.04 / CentOS 7/8/9 为例,推荐使用 Ubuntu 22.04 LTS):
✅ 前提条件
- 已购买并启动一台阿里云轻量应用服务器(建议选择 Ubuntu 22.04 或 CentOS Stream 9 镜像,资源 ≥ 2GB 内存)
- 已通过 SSH 登录服务器(如
ssh root@<公网IP>) - 确保系统已更新(网络通畅)
🐳 一、安装 Docker(官方推荐方式)
▶️ 方式 1:Ubuntu/Debian(推荐)
# 1. 更新系统 & 安装依赖
sudo apt update && sudo apt upgrade -y
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. 添加 Docker APT 仓库(自动适配系统架构和版本)
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
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
# ✅ 验证安装
sudo docker --version # 如:Docker version 24.0.7, build afdd53b
sudo docker run hello-world # 下载并运行测试容器(首次会拉取镜像)
💡 提示:若提示
Permission denied运行docker命令(无需sudo),可将当前用户加入docker组:sudo usermod -aG docker $USER # 退出 SSH 重新登录,或执行:newgrp docker
▶️ 方式 2:CentOS/RHEL/CentOS Stream(推荐 Stream 9)
# 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
# 3. 添加 Docker 官方仓库
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装 Docker(推荐安装最新稳定版)
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 5. 启动并启用开机自启
sudo systemctl enable docker
sudo systemctl start docker
# ✅ 验证
sudo docker --version
sudo docker run hello-world
⚠️ 注意:CentOS 7 已于 2024-06-30 停止维护,强烈建议使用 CentOS Stream 9 或 Ubuntu 22.04。
🔧 二、(可选但推荐)配置优化
1. 配置 Docker 镜像提速器(大幅提升国内拉取速度 ✅)
阿里云提供免费镜像提速服务(需登录阿里云容器镜像服务控制台 →「镜像工具」→「镜像提速器」获取专属地址)
# 创建 daemon.json(如不存在)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<your-unique-id>.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
✅ 验证提速器是否生效:
sudo docker info | grep "Registry Mirrors" -A 1
2. (可选)安装 Docker Compose(v2,已集成在插件中,无需单独安装)
确认已安装(见上方 docker-compose-plugin):
docker compose version # ✅ 输出类似:Docker Compose version v2.23.0
✅
docker compose(无连字符)是 v2 标准命令;旧版docker-compose(有连字符)已弃用。
🛡️ 三、安全加固建议(生产环境必做)
| 项目 | 操作 |
|---|---|
| ❌ 禁止 root 运行容器(除非必要) | 使用普通用户 + docker 组权限 |
| 🔒 限制容器能力 | 启动时加 --cap-drop=ALL --read-only 等参数 |
| 📦 不挂载敏感目录 | 避免 -v /:/host 等危险挂载 |
| 🔄 定期更新 | sudo apt update && sudo apt upgrade docker-ce(Ubuntu) |
| 📊 监控基础指标 | 可配合 cAdvisor 或阿里云 ARMS 容器监控 |
🌐 阿里云轻量服务器默认已关闭防火墙(UFW/firewalld),如需开启,请放行 Docker 所需端口(如 2376、容器映射端口等)。
🚀 四、快速验证:部署一个 Nginx 示例
# 启动一个带端口映射的 Nginx 容器(后台运行)
sudo docker run -d -p 8080:80 --name my-nginx -v $(pwd)/html:/usr/share/nginx/html:ro nginx:alpine
# 创建测试页(可选)
echo "<h1>✅ Hello from Alibaba Cloud Lighthouse + Docker!</h1>" | sudo tee ./html/index.html
# 访问:http://<你的服务器公网IP>:8080
✅ 在阿里云控制台【轻量服务器】→ 实例详情 → 【防火墙】中,确保 入方向规则已放行端口 8080(或你映射的端口)
❓常见问题速查
| 问题 | 解决方案 |
|---|---|
Cannot connect to the Docker daemon |
sudo systemctl status docker → 检查是否启动;用户是否在 docker 组 |
Permission denied while trying to connect to Docker daemon |
执行 sudo usermod -aG docker $USER + 重新登录 SSH |
docker: command not found |
检查是否安装成功(which docker);Shell PATH 是否异常 |
| 拉取镜像超时/慢 | ✅ 务必配置阿里云镜像提速器(见第二部分) |
| 容器无法访问网络 | 轻量服务器默认网络正常;检查容器内 ping 8.8.8.8,或尝试 --network host 测试 |
✅ 至此,Docker 环境已在阿里云轻量服务器上成功部署!
你可以开始部署 Web 应用、数据库(MySQL/PostgreSQL)、Redis、WordPress、Next.js 等任意容器化服务。
需要我为你生成:
- ✅ 一键安装脚本(
.sh) - ✅ Nginx + PHP + MySQL 多容器编排(docker-compose.yml)
- ✅ 使用阿里云容器镜像服务(ACR)私有仓库
- ✅ 自动 HTTPS(Nginx + Certbot)
欢迎随时告诉我 👇 我可立即为你定制!
祝你上云顺利,Docker 玩得飞起!🚀
CLOUD技术博