腾讯云轻量应用服务器上搭建多个Docker容器?

在腾讯云轻量应用服务器(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技术博 » 腾讯云轻量应用服务器上搭建多个Docker容器?