refactor: 移除 docker 目录,中间件编排收敛至根目录 docker-compose.yml
- docker-compose.yml 移至根目录,my.cnf/redis.conf 配置内联为 command 参数,数据持久化改用命名卷 - 删除 docker/ 目录(含运行时残留数据),清理 .gitignore 相关规则 - 同步 README 目录结构说明
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -12,8 +12,4 @@ target
|
|||||||
logs
|
logs
|
||||||
.history
|
.history
|
||||||
|
|
||||||
|
|
||||||
docker/*/data/
|
|
||||||
docker/minio/config
|
|
||||||
docker/xxljob/logs
|
|
||||||
application-youlai.yml
|
application-youlai.yml
|
||||||
|
|||||||
@@ -201,8 +201,6 @@ Detailed guide: https://www.youlai.tech/docs/server/spring-boot/quick-start.html
|
|||||||
|
|
||||||
youlai-boot/
|
youlai-boot/
|
||||||
|
|
||||||
├── docker/ # Docker orchestration
|
|
||||||
|
|
||||||
├── docs/ # Docs and image assets
|
├── docs/ # Docs and image assets
|
||||||
|
|
||||||
├── sql/ # Database init scripts
|
├── sql/ # Database init scripts
|
||||||
@@ -237,6 +235,8 @@ youlai-boot/
|
|||||||
|
|
||||||
│ └── system/ # Business (user/role/menu/dept/dict etc.)
|
│ └── system/ # Business (user/role/menu/dept/dict etc.)
|
||||||
|
|
||||||
|
├── docker-compose.yml # One-click middleware orchestration (MySQL/Redis/MinIO/Xxl-Job)
|
||||||
|
|
||||||
└── pom.xml # Maven dependency management
|
└── pom.xml # Maven dependency management
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -107,7 +107,6 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
youlai-boot/
|
youlai-boot/
|
||||||
├── docker/ # Docker 部署编排
|
|
||||||
├── docs/ # 项目文档与图片资源
|
├── docs/ # 项目文档与图片资源
|
||||||
├── sql/ # 数据库初始化脚本
|
├── sql/ # 数据库初始化脚本
|
||||||
├── src/ # 源码目录
|
├── src/ # 源码目录
|
||||||
@@ -125,6 +124,7 @@ youlai-boot/
|
|||||||
│ │ ├── sms/ # 短信服务
|
│ │ ├── sms/ # 短信服务
|
||||||
│ │ └── sse/ # SSE 消息推送
|
│ │ └── sse/ # SSE 消息推送
|
||||||
│ └── system/ # 系统业务(用户/角色/菜单/部门/字典等)
|
│ └── system/ # 系统业务(用户/角色/菜单/部门/字典等)
|
||||||
|
├── docker-compose.yml # 中间件一键编排(MySQL/Redis/MinIO/Xxl-Job)
|
||||||
└── pom.xml # Maven 依赖管理
|
└── pom.xml # Maven 依赖管理
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
75
docker-compose.yml
Normal file
75
docker-compose.yml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Docker Compose 一键安装中间件 MySQL、Redis、MinIO、Xxl-Job
|
||||||
|
#
|
||||||
|
# 安装:docker compose up -d
|
||||||
|
# 卸载:docker compose down(加 -v 同时删除数据卷)
|
||||||
|
#
|
||||||
|
# 说明:
|
||||||
|
# - name 固定项目名,容器统一管理和卸载,避免与其他项目冲突
|
||||||
|
# - MySQL 首次启动时自动执行 ./sql 下初始化脚本(仅首次,数据卷已存在时跳过)
|
||||||
|
# - 中间件配置全部内联于 command 参数,无需外部配置文件
|
||||||
|
# - 数据持久化使用命名卷(docker volume 统一管理),不污染项目目录
|
||||||
|
|
||||||
|
name: youlai-boot
|
||||||
|
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.0.29
|
||||||
|
container_name: mysql
|
||||||
|
restart: unless-stopped
|
||||||
|
# 等价于原 my.cnf 的 utf8mb4 字符集设置(MySQL 8 其余项与默认值一致)
|
||||||
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
- LANG=en_US.UTF-8
|
||||||
|
- MYSQL_ROOT_PASSWORD=123456
|
||||||
|
volumes:
|
||||||
|
- youlai-mysql-data:/var/lib/mysql
|
||||||
|
- ./sql:/docker-entrypoint-initdb.d
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:7.2.3
|
||||||
|
container_name: redis
|
||||||
|
restart: unless-stopped
|
||||||
|
# --protected-mode no 允许远程连接(原 redis.conf 唯一非默认项)
|
||||||
|
command: redis-server --requirepass 123456 --appendonly no --protected-mode no
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
volumes:
|
||||||
|
- youlai-redis-data:/data
|
||||||
|
ports:
|
||||||
|
- 6379:6379
|
||||||
|
|
||||||
|
minio:
|
||||||
|
image: minio/minio:RELEASE.2024-07-16T23-46-41Z
|
||||||
|
container_name: minio
|
||||||
|
restart: unless-stopped
|
||||||
|
command: server /data --console-address ":9001"
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
- LANG=en_US.UTF-8
|
||||||
|
- MINIO_ROOT_USER=minioadmin
|
||||||
|
- MINIO_ROOT_PASSWORD=minioadmin
|
||||||
|
volumes:
|
||||||
|
- youlai-minio-data:/data
|
||||||
|
ports:
|
||||||
|
- 9000:9000
|
||||||
|
- 9001:9001
|
||||||
|
|
||||||
|
xxl-job-admin:
|
||||||
|
image: xuxueli/xxl-job-admin:2.4.0
|
||||||
|
container_name: xxl-job-admin
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
PARAMS: '--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver'
|
||||||
|
volumes:
|
||||||
|
- youlai-xxljob-logs:/data/applogs
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
youlai-mysql-data:
|
||||||
|
youlai-redis-data:
|
||||||
|
youlai-minio-data:
|
||||||
|
youlai-xxljob-logs:
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
# 创建一个名为 "youlai-boot" 的桥接网络,在同一个网络中的容器可以通过容器名互相访问
|
|
||||||
networks:
|
|
||||||
youlai-boot:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
services:
|
|
||||||
mysql:
|
|
||||||
image: mysql:8.0.29
|
|
||||||
container_name: mysql
|
|
||||||
restart: unless-stopped # 重启策略:除非手动停止容器,否则自动重启
|
|
||||||
environment:
|
|
||||||
- TZ=Asia/Shanghai
|
|
||||||
- LANG= en_US.UTF-8
|
|
||||||
- MYSQL_ROOT_PASSWORD=123456 #设置 root 用户的密码
|
|
||||||
volumes:
|
|
||||||
- ./mysql/conf/my.cnf:/etc/my.cnf # 挂载 my.cnf 文件到容器的指定路径
|
|
||||||
- ./mysql/data:/var/lib/mysql # 持久化 MySQL 数据
|
|
||||||
- ../sql:/docker-entrypoint-initdb.d # 初始化 SQL 脚本目录
|
|
||||||
ports:
|
|
||||||
- 3306:3306
|
|
||||||
networks:
|
|
||||||
- youlai-boot # 加入 "youlai-boot" 网络
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis:7.2.3
|
|
||||||
container_name: redis
|
|
||||||
restart: unless-stopped
|
|
||||||
command: redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly no # 启动 Redis 服务并添加密码为:123456,默认不开启 Redis AOF 方式持久化配置
|
|
||||||
environment:
|
|
||||||
- TZ=Asia/Shanghai
|
|
||||||
volumes:
|
|
||||||
- ./redis/data:/data
|
|
||||||
- ./redis/config/redis.conf:/etc/redis/redis.conf
|
|
||||||
ports:
|
|
||||||
- 6379:6379
|
|
||||||
networks:
|
|
||||||
- youlai-boot
|
|
||||||
|
|
||||||
minio:
|
|
||||||
image: minio/minio:RELEASE.2024-07-16T23-46-41Z
|
|
||||||
container_name: minio
|
|
||||||
restart: unless-stopped
|
|
||||||
command: server /data --console-address ":9001"
|
|
||||||
ports:
|
|
||||||
- 9000:9000
|
|
||||||
- 9001:9001
|
|
||||||
environment:
|
|
||||||
- TZ=Asia/Shanghai
|
|
||||||
- LANG=en_US.UTF-8
|
|
||||||
- MINIO_ROOT_USER=minioadmin
|
|
||||||
- MINIO_ROOT_PASSWORD=minioadmin
|
|
||||||
volumes:
|
|
||||||
- ./minio/data:/data
|
|
||||||
- ./minio/config:/root/.minio
|
|
||||||
networks:
|
|
||||||
- youlai-boot
|
|
||||||
|
|
||||||
xxl-job-admin:
|
|
||||||
image: xuxueli/xxl-job-admin:2.4.0
|
|
||||||
container_name: xxl-job-admin
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
PARAMS: '--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver'
|
|
||||||
volumes:
|
|
||||||
- ./xxljob/logs:/data/applogs
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
||||||
networks:
|
|
||||||
- youlai-boot
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
[mysqld]
|
|
||||||
# 字符集与排序规则
|
|
||||||
character-set-server = utf8mb4 # 服务端默认字符集
|
|
||||||
collation-server = utf8mb4_0900_ai_ci # 服务端默认排序规则
|
|
||||||
|
|
||||||
# 网络与路径
|
|
||||||
datadir = /var/lib/mysql # 数据文件存放的目录
|
|
||||||
bind-address = 0.0.0.0 # 允许远程连接,默认 127.0.0.1 只允许本地连接
|
|
||||||
port = 3306 # 显式指定端口(默认3306可不写)
|
|
||||||
|
|
||||||
# 客户端字符集同步(避免乱码)
|
|
||||||
init_connect = 'SET NAMES utf8mb4' # 连接初始化时设置字符集
|
|
||||||
|
|
||||||
[client]
|
|
||||||
default-character-set = utf8mb4 # 客户端默认字符集
|
|
||||||
|
|
||||||
[mysql]
|
|
||||||
default-character-set = utf8mb4 # MySQL 命令行工具字符集
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,16 +0,0 @@
|
|||||||
|
|
||||||
# Docker Compose 安装中间件 MySQL、Redis、Minio、Xxl-Job
|
|
||||||
|
|
||||||
## 安装
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker-compose -f ./docker-compose.yml -p youlai-boot up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
- p youlai-boot 指定命名空间,避免与其他容器冲突,这里方便管理,统一管理和卸载
|
|
||||||
|
|
||||||
## 卸载
|
|
||||||
```bash
|
|
||||||
docker-compose -f ./docker-compose.yml -p youlai-boot down
|
|
||||||
```
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user