Files
youlai-boot/docker-compose.yml
2026-08-26 08:13:35 +08:00

76 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Docker Compose 一键安装中间件 MySQL、Redis、RustFS、Xxl-Job
#
# 安装:docker compose up -d
# 卸载:docker compose down(加 -v 同时删除数据卷)
#
# 说明:
# - name 固定项目名,容器统一管理和卸载,避免与其他项目冲突
# - MySQL 首次启动时自动执行 ./sql 下初始化脚本(仅首次,数据卷已存在时跳过)
# - 中间件配置全部内联于 command 参数,无需外部配置文件
# - 数据持久化使用命名卷(docker volume 统一管理),不污染项目目录
# - RustFS 兼容 MinIO 磁盘格式与 S3 协议(MinIO 社区版已于 2026 年停止维护)
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
rustfs:
image: rustfs/rustfs:latest
container_name: rustfs
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
- RUSTFS_ACCESS_KEY=rustfs-admin
- RUSTFS_SECRET_KEY=rustfs-admin
volumes:
- youlai-rustfs-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-rustfs-data:
youlai-xxljob-logs: