在腾讯云轻量应用服务器(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-stopped 或 always |
| 日志管理 | 使用 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云枢