在腾讯云轻量应用服务器(Lighthouse)上部署多个 Docker 应用是完全可行的。轻量服务器本质上是一台运行 Linux 系统的虚拟机,支持安装和运行 Docker,并通过端口映射、容器编排等方式运行多个应用。
下面是一个完整的指南,帮助你在腾讯云轻量服务器上部署多个 Docker 应用:
✅ 一、前提条件
- 已购买腾讯云轻量服务器(推荐至少2核4G以上)
- 操作系统为Linux(如 Ubuntu / CentOS)
- 已安装 Docker 和 Docker Compose
- 了解基本的 Docker 使用方法
✅ 二、安装 Docker 和 Docker Compose
安装 Docker(以 Ubuntu 为例)
sudo apt update
sudo apt install docker.io -y
安装 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-compose --version
✅ 三、运行多个 Docker 应用的方法
方法一:使用不同端口映射运行多个容器
你可以通过 -p 参数指定不同的宿主机端口来运行多个应用。
示例 1:运行 Nginx 和 WordPress
# 运行 Nginx
docker run -d -p 80:80 --name mynginx nginx
# 运行 WordPress
docker run -d -p 8080:80 --name mywordpress wordpress
现在你可以通过以下方式访问:
http://你的服务器IP: 访问 Nginxhttp://你的服务器IP:8080: 访问 WordPress
⚠️ 注意:如果防火墙或安全组未开放对应端口,将无法访问。
方法二:使用反向X_X(推荐)
为了统一管理多个服务,建议使用 Nginx 或 Traefik 做反向X_X,通过域名区分多个服务。
示例:使用 Nginx 反向X_X多个应用
# docker-compose.yml
version: '3'
services:
app1:
image: httpd
ports:
- "8081:80"
container_name: app1
app2:
image: hello-world:linux
ports:
- "8082:80"
container_name: app2
nginx-proxy:
image: nginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- app1
- app2
然后配置 nginx.conf 文件实现反向X_X,例如根据域名路由到不同服务。
方法三:使用 Docker Compose 编排多个服务
你可以在一个 docker-compose.yml 文件中定义多个服务,每个服务使用不同的端口或网络设置。
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- "3306:3306"
运行命令:
docker-compose up -d
✅ 四、配置安全组与防火墙
确保你在腾讯云控制台的安全组中放行所需端口:
- HTTP (80)
- HTTPS (443)
- 自定义端口(如 8080, 3000, etc.)
路径:腾讯云控制台 > 轻量应用服务器 > 防火墙/安全组
✅ 五、常见问题
Q1:如何查看正在运行的容器?
docker ps
Q2:如何查看日志?
docker logs 容器ID或名称
Q3:如何清理无用镜像和容器?
docker system prune -a
✅ 六、进阶建议
- 使用 Traefik 实现自动 HTTPS 和动态路由。
- 使用 Portainer 提供图形界面管理 Docker。
- 使用子域名配合反向X_X实现多服务共用 80/443 端口。
✅ 七、总结
| 目标 | 推荐做法 |
|---|---|
| 多个应用共存 | 使用不同端口映射 |
| 统一入口访问 | 使用 Nginx / Traefik 反向X_X |
| 快速部署 | 使用 Docker Compose |
| 图形化管理 | 使用 Portainer |
如果你有具体的多个应用(比如 WordPress + Jenkins + GitLab),可以告诉我,我可以帮你写一份完整的 docker-compose.yml 文件。
是否需要我为你生成一个模板?
ECLOUD博客