在腾讯云轻量应用服务器(Lighthouse)上配置 Docker Compose 的过程与在其他 Linux 服务器上基本一致,但需要注意轻量服务器的网络、防火墙以及镜像拉取速度等特有因素。以下是详细步骤:
✅ 前提条件
- 操作系统:推荐使用 Ubuntu 20.04/22.04、Debian 11/12 或 CentOS 7/8(Docker 官方支持)。
- 权限:使用
root用户或通过sudo执行命令。 - 网络连接:确保能访问网络(用于拉取 Docker 镜像)。
📦 第一步:安装 Docker Engine
Ubuntu/Debian 系统:
# 更新包索引
sudo apt update
# 安装依赖
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# 添加 Docker GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
CentOS/RHEL 系统:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
▶️ 第二步:启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
验证安装是否成功:
docker --version
docker run hello-world
如果
hello-world容器正常运行,说明 Docker 已正确安装。
🐙 第三步:安装 Docker Compose
方法一:通过 pip 安装(推荐)
# 安装 Python pip(如未安装)
sudo apt install -y python3-pip # Ubuntu/Debian
# 或
sudo yum install -y epel-release && sudo yum install -y python3-pip # CentOS
# 安装 Docker Compose
sudo pip3 install docker-compose-plugin
注意:新版 Docker 推荐使用
docker compose(插件形式),而非独立的docker-compose二进制文件。
方法二:下载二进制文件(备用)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
验证安装:
docker compose version
# 或旧版命令
docker-compose version
🗂️ 第四步:创建项目目录并编写 docker-compose.yml
mkdir ~/myapp
cd ~/myapp
创建 docker-compose.yml 示例:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydb
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
⚠️ 注意:轻量应用服务器默认安全组可能只开放 22 端口,需手动开放 8080 或其他所需端口(见下文“网络配置”部分)。
🚀 第五步:启动服务
docker compose up -d
查看运行状态:
docker compose ps
测试访问:
curl http://localhost:8080
🔒 第六步:配置腾讯云轻量应用服务器安全组
- 登录 腾讯云控制台
- 进入 轻量应用服务器 → 选择你的实例 → 安全组
- 添加规则:
- 类型:自定义 TCP
- 端口:8080(或其他你映射的端口)
- 来源:0.0.0.0/0(或指定 IP)
- 策略:允许
💡 建议仅对必要端口开放,避免安全风险。
🔄 第七步:常用管理命令
# 启动所有服务
docker compose up -d
# 停止所有服务
docker compose down
# 查看日志
docker compose logs -f web
# 重启某个服务
docker compose restart web
# 更新镜像并重建
docker compose pull
docker compose up -d --force-recreate
🛡️ 最佳实践建议
| 项目 | 建议 |
|---|---|
| 镜像源 | 若拉取慢,可配置国内镜像提速(如阿里云、腾讯云镜像提速器) |
| 数据持久化 | 使用 volume 挂载数据库、配置文件等 |
| 环境变量 | 敏感信息不要硬编码,使用 .env 文件或 Docker Secrets |
| 自动重启 | 在 docker-compose.yml 中设置 restart: unless-stopped |
| 监控 | 可使用 htop、docker stats 监控资源使用情况 |
❓ 常见问题排查
1. 拉取镜像超时
# 配置 Docker 镜像提速(以阿里云为例)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2. 端口无法访问
- 检查本地防火墙:
sudo ufw status或sudo firewall-cmd --list-all - 检查腾讯云安全组是否放行对应端口
3. Docker Compose 命令不存在
确认安装的是 docker compose(插件)还是 docker-compose(独立二进制),两者命令不同。
✅ 总结
在腾讯云轻量应用服务器上配置 Docker Compose 的核心步骤:
- 安装 Docker Engine
- 安装 Docker Compose 插件
- 编写
docker-compose.yml - 启动服务并配置安全组
- 测试访问和管理服务
整个过程简单高效,适合部署 Web 应用、数据库、中间件等组合服务。
如需进一步帮助(如 Nginx + PHP + MySQL 完整栈部署),可提供具体需求,我可给出完整配置示例。
云知识CLOUD