Files
henan-backend/docker
2026-09-21 19:21:35 +08:00
..
2026-09-21 19:21:35 +08:00
2026-09-21 19:21:35 +08:00
2026-09-21 19:21:35 +08:00
2026-09-21 19:21:35 +08:00

Docker 基础设施

目录结构

docker/
├── compose/                        # Docker Compose 文件 + 脚本
│   ├── docker-compose.yml          # 主文件 (MySQL + Redis + RabbitMQ)
│   ├── docker-compose.cn.yml       # 国内镜像源 override
│   ├── docker-compose.dev.yml      # 开发环境资源限制
│   ├── docker-compose.16c32g.yml   # 16C/32G 服务器资源规格
│   ├── docker-compose.32c64g.yml   # 32C/64G 服务器资源规格
│   ├── deploy.sh                   # 智能部署脚本
│   └── migrate-mysql-volume.sh     # 数据卷迁移脚本
├── config/                         # 服务配置文件
│   ├── mysql/
│   │   ├── Dockerfile              # 参数化 MySQL 镜像
│   │   ├── my.cnf.dev              # 开发环境配置
│   │   ├── my.cnf.16c32g           # 16C/32G 配置
│   │   └── my.cnf.32c64g           # 32C/64G 配置
│   └── redis/
│       ├── redis.dev.conf          # 开发环境配置
│       ├── redis.16c32g.conf       # 16C/32G 配置
│       └── redis.32c64g.conf       # 32C/64G 配置
└── readme.md                       # 本文件

快速使用

cd docker/compose

# 自动检测环境并启动(默认:国内镜像 + 自动检测 CPU 规格)
./deploy.sh up -d

# 开发环境
ENV=dev ./deploy.sh up -d

# 海外镜像源
PROXY=overseas ./deploy.sh up -d

# 停止
./deploy.sh stop

# 删除容器
./deploy.sh down

# 重新创建某个容器
./deploy.sh up -d --build --force-recreate rabbitmq

环境变量

变量 默认值 说明
ENV prod dev 使用开发资源规格,prod 按 CPU 核数自动检测
PROXY cn cn 使用国内镜像源,overseas 使用官方源
JVM_PROFILE (自动) 可手动指定 16c32g 或 32c64g

首次部署:数据卷迁移

如果之前使用旧版 docker-compose(自动命名卷),需要迁移数据到 external 卷:

cd docker/compose
bash migrate-mysql-volume.sh
# 或手动指定旧卷名
bash migrate-mysql-volume.sh docker_chengdu_mysql_data