在阿里云轻量服务器上如何部署Docker环境?

在阿里云轻量应用服务器(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技术博 » 在阿里云轻量服务器上如何部署Docker环境?