腾讯云轻量应用服务器如何配置Docker Compose?

在腾讯云轻量应用服务器(Lighthouse)上配置 Docker Compose,需按以下清晰、安全、可复现的步骤操作。本文以 Ubuntu 22.04 LTS(推荐)或 CentOS 7/8 为例(腾讯云轻量默认镜像多为 Ubuntu),全程使用命令行,无需图形界面。


✅ 前提条件

  • 已购买并登录腾讯云轻量应用服务器(建议选择 ≥2GB 内存规格,Docker Compose 运行更稳定)
  • 使用 SSH(如 PuTTY / Terminal / 腾讯云控制台 Web SSH)登录服务器(ssh -i key.pem ubuntu@xxx.xxx.xxx.xxx
  • 确保系统已更新(推荐使用 ubuntu 用户,避免 root 直接操作)

🛠 步骤一:安装 Docker(官方方式,非 snap)

⚠️ 腾讯云轻量部分镜像可能预装 Docker,但版本旧或不完整,建议卸载后重装最新稳定版

1. 卸载旧版(如有)

sudo apt remove docker docker-engine docker.io containerd runc -y
sudo rm -rf /var/lib/docker /var/lib/containerd

2. 安装 Docker CE(Ubuntu)

# 更新包索引
sudo apt update

# 安装依赖
sudo apt install -y 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

# 添加稳定版仓库(适配你的 Ubuntu 版本,如 jammy=22.04)
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 update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 验证安装
sudo docker --version        # 应输出类似:Docker version 24.x.x
sudo docker run hello-world  # 首次运行会拉取测试镜像(需网络通畅)

✅ 注意:docker-compose-plugin 是 Docker 官方推荐的现代方案(docker compose 命令,非旧版 docker-compose),无需单独安装 docker-compose
🔁 若你坚持用旧版 docker-compose(v1),可跳过此步,见文末补充说明。


🧩 步骤二:验证并配置 Docker Compose(v2,即 docker compose

1. 检查 Compose 插件是否就绪

docker compose version  # 应输出:Docker Compose version v2.x.x

2. (可选)将当前用户加入 docker 组(免 sudo

sudo usermod -aG docker $USER
# 退出 SSH,重新登录生效(或执行:newgrp docker)

✅ 验证:docker compose version(无 sudo 也能运行)

3. (推荐)配置国内镜像提速(提升拉取速度)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

💡 腾讯云用户强烈推荐 mirror.ccs.tencentyun.com(腾讯云官方镜像站,免公网带宽消耗,极速稳定)


📁 步骤三:快速体验 Docker Compose(Nginx 示例)

创建一个简单 docker-compose.yml 测试:

mkdir ~/myapp && cd ~/myapp
nano docker-compose.yml

粘贴以下内容:

version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped

  nginx-proxy:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - web

再创建静态页和配置:

mkdir html
echo "<h1>Hello from Tencent Cloud Lighthouse + Docker Compose!</h1>" > html/index.html

# 简单 nginx.conf(仅作演示)
cat > nginx.conf <<'EOF'
events { worker_connections 1024; }
http {
  server {
    listen 80;
    location / {
      proxy_pass http://web:80;
      proxy_set_header Host $host;
    }
  }
}
EOF

启动服务:

docker compose up -d  # 后台启动
docker compose ps     # 查看状态

✅ 打开浏览器访问 http://你的轻量服务器公网IP(端口 80)和 http://IP:8080,应看到欢迎页。

停止服务:

docker compose down

🔐 安全与运维建议(腾讯云特别注意)

项目 建议
防火墙 腾讯云轻量控制台 → 实例详情 → 防火墙 → 放行所需端口(如 80, 443, 8080),不要开放 2375/2376(Docker API)
数据持久化 将数据库、配置、日志等挂载到 /data/home/ubuntu/data避免容器删除导致数据丢失
自动重启 docker-compose.yml 中添加 restart: unless-stoppedalways
日志管理 使用 docker compose logs -f web 实时查看;生产环境建议配置 logging 驱动(如 fluentd 或本地 rotate)
定期更新 sudo apt update && sudo apt upgrade -y + sudo docker compose down && docker compose pull && docker compose up -d

❓常见问题解答(Q&A)

Q:为什么 docker-compose 命令不存在?
A:你安装的是 Docker Compose v2(插件模式),请使用 docker compose(中间有空格)。若必须用 docker-compose(v1),可单独安装:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Q:提示 Permission denied while trying to connect to the Docker daemon socket
A:未加入 docker 用户组,执行 sudo usermod -aG docker $USER,然后完全退出并重新 SSH 登录

Q:轻量服务器内存不足,容器频繁 OOM?
A:限制容器内存(在 docker-compose.yml 中加 mem_limit: 512m),或升级实例规格(推荐 2C4G 起步)。

Q:如何让服务开机自启?
A:Docker 服务本身已设为开机启动;你的 Compose 服务可通过 systemd 管理(参考官方文档),或简单写个脚本放入 /etc/rc.local(Ubuntu 22.04+ 需启用 rc-local)。


✅ 总结:一键检查清单

✅ 检查项 命令 期望输出
Docker 是否运行 sudo systemctl is-active docker active
Docker 版本 docker --version Docker version 24.x
Compose 插件是否可用 docker compose version Docker Compose version v2.x
当前用户能否免 sudo 操作 docker compose ls 列出项目(无 permission error)
镜像提速是否生效 sudo cat /etc/docker/daemon.json 包含 registry-mirrors 且含腾讯云地址

如需进一步帮助(例如部署 WordPress、Node.js、MySQL 主从、Nginx + SSL、CI/CD 集成),欢迎继续提问!我可为你生成完整 docker-compose.yml 和自动化脚本 👨‍💻

🚀 祝你在腾讯云轻量上高效玩转 Docker Compose!

未经允许不得转载:CLOUD云枢 » 腾讯云轻量应用服务器如何配置Docker Compose?