问题售后登记后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.7 KiB

# 定义网络配置
networks:
blade_net:
driver: bridge # 使用 bridge 驱动,创建一个桥接网络
ipam: # IP 地址管理配置
config:
- subnet: 172.30.0.0/16 # 定义子网,IP 范围从 172.30.0.0 到 172.30.255.255
# 定义服务配置
services:
# BladeX 后端 服务,提供BladeX平台业务功能
blade-api:
image: blade/blade-api:4.6.0.RELEASE
container_name: blade-api
restart: unless-stopped
environment:
# OAuth2 公钥,用于身份验证
- BLADE_OAUTH2_PUBLIC_KEY=${BLADE_OAUTH2_PUBLIC_KEY}
# OAuth2 私钥,用于验签解码
- BLADE_OAUTH2_PRIVATE_KEY=${BLADE_OAUTH2_PRIVATE_KEY}
# BladeX 密钥,用于Token签名
- BLADE_TOKEN_SIGN_KEY=${BLADE_TOKEN_SIGN_KEY}
# 时区设置
- TZ=Asia/Shanghai
ports:
- 8000:80 # 映射 80 端口到主机的 8000 端口
command:
- --spring.profiles.active=${BLADE_PROFILES_ACTIVE} # 设置系统启动模式
- --social.domain=http://${HOST_IP}:2888 # 设置第三方登录跳转域名
depends_on:
- blade-db # 依赖数据库
- blade-oss # 依赖对象存储
networks:
blade_net:
ipv4_address: 172.30.0.80
# MySQL 数据库服务
blade-db:
image: mysql:8.3.0
container_name: blade-db
restart: unless-stopped
security_opt:
- seccomp:unconfined # 禁用 seccomp 安全配置,允许更多操作
environment:
- TZ=Asia/Shanghai # 时区设置
- MYSQL_CHARSET=utf8mb4 # 设置字符集为 utf8mb4
- MYSQL_COLLATION=utf8mb4_unicode_ci # 设置排序规则为 utf8mb4_unicode_ci
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} # 数据库 root 密码
- MYSQL_USER=bladexadmin
- MYSQL_PASSWORD=bladexadmin
- MYSQL_DATABASE=bladex_boot
ports:
- 13306:3306 # 映射 MySQL 服务端口
volumes:
- ./data/mysql:/var/lib/mysql # 持久化 MySQL 数据
- ./database/init.sql:/docker-entrypoint-initdb.d/init.sql # 挂载 SQL 初始化脚本
command: --lower_case_table_names=1 # 添加忽略大小写配置
networks:
blade_net:
ipv4_address: 172.30.0.33
# Redis 服务,用于缓存
blade-redis:
image: redis:7.2.5
container_name: blade-redis
environment:
- TZ=Asia/Shanghai # 时区设置
ports:
- 16379:6379 # 映射 Redis 默认端口
command: redis-server --appendonly yes --requirepass bladexadmin # 配置密码和持久化
privileged: true
restart: always
volumes:
- ./data/redis/data:/data # 持久化 Redis 数据
networks:
blade_net:
ipv4_address: 172.30.0.63
# MinIO 对象存储服务
blade-oss:
image: minio/minio:RELEASE.2021-04-22T15-44-28Z.hotfix.56647434e
container_name: blade-oss
restart: unless-stopped
security_opt:
- seccomp:unconfined
environment:
- TZ=Asia/Shanghai # 时区设置
- MINIO_ACCESS_KEY=bladexadmin # 存储访问密钥
- MINIO_SECRET_KEY=bladexadmin # 存储密钥
ports:
- 9000:9000 # 映射 MinIO 服务端口
command: server /data --address '0.0.0.0:9000' # 启动 MinIO
volumes:
- ./data/minio/data:/data # 持久化数据
networks:
blade_net:
ipv4_address: 172.30.0.90
# Nginx 服务,用于反向代理和负载均衡
blade-nginx:
image: nginx:stable-alpine-perl
container_name: blade-nginx
environment:
- TZ=Asia/Shanghai # 时区设置
ports:
- 2888:2888 # 映射端口
volumes:
- ./nginx/html:/usr/share/nginx/html # 持久化 Nginx 网页数据
- ./nginx/nginx.conf:/etc/nginx/nginx.conf # 持久化 Nginx 配置
privileged: true
restart: always
networks:
blade_net:
ipv4_address: 172.30.0.18