在腾讯云轻量应用服务器(Lighthouse)上搭建多个 Docker 容器是完全可行的,而且非常常见。以下是详细的步骤和建议,帮助你在轻量应用服务器上高效地部署和管理多个 Docker 容器。
✅ 一、准备工作
-
购买并登录轻量应用服务器
- 登录 腾讯云控制台
- 创建一台轻量应用服务器(建议选择 Ubuntu 20.04 / 22.04 或 CentOS 7/8 系统)
- 获取公网 IP 和登录凭证(密码或密钥)
-
连接服务器
ssh root@your-server-ip
✅ 二、安装 Docker
# 更新系统包
sudo apt update && sudo apt upgrade -y
# 安装依赖
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
# 添加 Docker 仓库
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 验证安装
sudo docker --version
注意:如果你使用的是 CentOS,请使用
yum或dnf安装。
✅ 三、配置 Docker(可选但推荐)
-
将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER退出重新登录或运行:
newgrp docker -
设置 Docker 开机自启
sudo systemctl enable docker
✅ 四、运行多个 Docker 容器
方法 1:使用 docker run 命令(适合简单场景)
示例:同时运行 Nginx、MySQL、Redis
# 运行 Nginx(映射 80 端口)
docker run -d --name nginx -p 80:80 nginx:alpine
# 运行 MySQL(注意设置密码、数据卷)
docker run -d --name mysql
-e MYSQL_ROOT_PASSWORD=yourpassword
-v mysql-data:/var/lib/mysql
-p 3306:3306
mysql:8.0
# 运行 Redis
docker run -d --name redis -p 6379:6379 redis:alpine
方法 2:使用 docker-compose(推荐,管理多个容器更方便)
-
安装
docker-compose(上面已安装docker-compose-plugin,可用docker compose命令) -
创建项目目录和
docker-compose.yml
mkdir myapp && cd myapp
创建 docker-compose.yml:
version: '3.8'
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: yourpassword
volumes:
- mysql_data:/var/lib/mysql
ports:
- "3306:3306"
redis:
image: redis:alpine
ports:
- "6379:6379"
volumes:
mysql_data:
- 启动所有服务
docker compose up -d
- 常用命令
docker compose ps # 查看容器状态
docker compose logs # 查看日志
docker compose down # 停止并删除容器
✅ 五、注意事项
-
端口冲突
- 每个服务映射的端口不能冲突(如两个容器都映射 80 端口)
- 可使用 Nginx 反向X_X统一分流(80/443 入口 → 多个后端服务)
-
资源限制
- 轻量服务器配置有限(如 2C4G),避免运行过多或高负载容器
- 使用
docker stats监控资源使用
-
数据持久化
- 使用 Docker volumes 或 bind mounts 保存数据库、配置等数据
- 避免容器删除后数据丢失
-
安全
- 修改默认密码(如 MySQL、Redis)
- 不要将敏感服务(如数据库)暴露在公网,可通过内网访问或防火墙限制
-
防火墙
- 腾讯云轻量服务器有自带防火墙(安全组),需在控制台开放对应端口:
- 80(HTTP)、443(HTTPS)、3306(MySQL)、6379(Redis)等
- 腾讯云轻量服务器有自带防火墙(安全组),需在控制台开放对应端口:
✅ 六、进阶建议
- 使用 Nginx 反向X_X 支持多个 Web 服务(通过域名或路径区分)
- 使用 Let’s Encrypt 配置 HTTPS(配合
certbot) - 定期备份数据卷(如 MySQL 数据)
- 使用
.env文件管理敏感配置
✅ 示例:部署一个 Web 应用 + MySQL + Nginx
# docker-compose.yml
version: '3.8'
services:
web:
image: your-web-app:latest
environment:
- DB_HOST=mysql
- DB_USER=root
- DB_PASS=yourpassword
depends_on:
- mysql
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: yourpassword
volumes:
- db_data:/var/lib/mysql
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- web
volumes:
db_data:
✅ 总结
在腾讯云轻量应用服务器上运行多个 Docker 容器非常方便,关键步骤:
- 安装 Docker 和 Docker Compose
- 使用
docker run或docker-compose.yml启动多个服务 - 合理分配端口、持久化数据、配置安全组
- 推荐使用
docker-compose管理多容器应用
如有具体应用(如 WordPress、Node.js、Python 项目),可进一步提供配置示例。
需要我帮你写一个具体的 docker-compose.yml 示例吗?比如部署 WordPress + MySQL?
云知识