在腾讯云轻量应用服务器(TencentCloud Lighthouse)上搭建多个 Docker 容器是一个常见的使用场景,适用于部署多个 Web 应用、微服务或开发测试环境。以下是详细的步骤指南:
✅ 一、准备工作
1. 购买并登录腾讯云轻量应用服务器
- 登录 腾讯云控制台
- 创建一个轻量应用服务器实例(推荐选择 Ubuntu 或 CentOS 系统)
- 获取公网 IP 地址和 SSH 登录凭证
2. 安装 Docker 和 Docker Compose
# 更新系统软件包
sudo apt update && sudo apt upgrade -y
# 安装必要的依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 仓库
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
# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker --version
docker-compose --version
✅ 二、部署多个 Docker 容器
你可以通过以下两种方式来部署多个容器:
方式一:使用 docker run 命令分别启动容器(适合简单测试)
示例:运行 Nginx、MySQL、Redis 多个容器
# 启动 Nginx
docker run -d --name nginx -p 80:80 nginx
# 启动 MySQL
docker run -d --name mysql
-e MYSQL_ROOT_PASSWORD=yourpassword
-p 3306:3306
mysql:latest
# 启动 Redis
docker run -d --name redis -p 6379:6379 redis
⚠️ 注意:
- 如果端口冲突,可以映射不同的主机端口,例如
-p 8080:80- 可以使用
--network指定自定义网络以便容器之间通信
方式二:使用 docker-compose.yml 文件集中管理多个容器(推荐)
示例目录结构:
myapp/
├── docker-compose.yml
├── nginx/
│ └── Dockerfile (可选)
├── backend/
│ └── Dockerfile
└── frontend/
└── Dockerfile
示例 docker-compose.yml 文件内容:
version: '3'
services:
nginx:
image: nginx
ports:
- "80:80"
volumes:
- ./nginx:/etc/nginx/conf.d
depends_on:
- backend
backend:
build: ./backend
ports:
- "5000:5000"
environment:
- DB_HOST=mysql
depends_on:
- mysql
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis
ports:
- "6379:6379"
volumes:
mysql_data:
启动所有服务:
cd myapp
docker-compose up -d
查看状态:
docker-compose ps
✅ 三、配置防火墙与安全组
在腾讯云控制台设置安全组规则:
- 放行你需要使用的端口(如:80, 443, 3306, 6379 等)
- 不建议将数据库等敏感服务暴露给公网,只允许特定 IP 访问或内网访问
✅ 四、常用命令参考
| 功能 | 命令 |
|---|---|
| 查看运行中的容器 | docker ps |
| 查看所有容器 | docker ps -a |
| 停止容器 | docker stop <container_name> |
| 删除容器 | docker rm <container_name> |
| 查看日志 | docker logs <container_name> |
| 进入容器终端 | docker exec -it <container_name> bash |
✅ 五、优化建议
- 使用 Docker 网络 实现容器间通信
- 使用
.env文件管理环境变量 - 使用 反向X_X(如 Nginx) 来管理多个 Web 服务的路由
- 对于生产环境,建议使用更高级的编排工具(如 Kubernetes)
如果你有具体的应用需求(比如部署 WordPress + MySQL,或者前后端分离项目),也可以告诉我,我可以提供更具体的 docker-compose.yml 示例。
是否需要我为你生成一个完整的示例模板?
CLOUD技术博