first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# 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 # 本文件
|
||||
```
|
||||
|
||||
## 快速使用
|
||||
|
||||
```bash
|
||||
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 卷:
|
||||
|
||||
```bash
|
||||
cd docker/compose
|
||||
bash migrate-mysql-volume.sh
|
||||
# 或手动指定旧卷名
|
||||
bash migrate-mysql-volume.sh docker_chengdu_mysql_data
|
||||
```
|
||||
Reference in New Issue
Block a user