Files
molly-multi-tenant/docker-compose.yml
2024-04-21 11:05:20 +08:00

121 lines
2.9 KiB
YAML

version: '3'
networks:
app-net1:
ipam:
config:
- subnet: 172.19.0.0/16
gateway: 172.19.0.1
services:
mysql8:
image: mysql:8.3.0
container_name: mysql8
# 映射端口
ports:
- "3306:3306"
# 容器环境变量
environment:
# root 密码
- MYSQL_ROOT_PASSWORD=mht123456
# 初始化数据库(后续的初始化sql会在这个库执行)
- MYSQL_DATABASE=molly_master
# 初始化用户(不能是 root 会报错, 后续需要给新用户赋予权限)
- MYSQL_USER=test123
- MYSQL_PASSWORD=mht123456
volumes:
- /data/mysql8/data/:/var/lib/mysql/
- /data/mysql8/conf/:/etc/mysql/conf.d/
# 初始化 sql语句 目录挂载,
# - /data/mysql8/init/:/docker-entrypoint-initdb.d/
- /etc/localtime:/etc/localtime:ro
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--log-bin=mysql-bin
--server_id=1
restart: always
networks:
app-net1:
ipv4_address: 172.19.0.11
deploy:
resources:
limits:
memory: 2g
redis7:
image: redis:7.2.4
container_name: redis7
ports:
- "6379:6379"
environment:
- TZ="Asia/Shanghai"
volumes:
- /data/redis7/data:/data
- /data/redis7/conf/redis.conf:/etc/redis/redis.conf
- /etc/localtime:/etc/localtime:ro
command: redis-server --requirepass redis123456 --appendonly yes
privileged: true
restart: always
networks:
app-net1:
ipv4_address: 172.19.0.21
deploy:
resources:
limits:
memory: 1g
nginx:
image: nginx:1.25.4
container_name: nginx
ports:
- "80:80"
- "443:443"
environment:
- TZ="Asia/Shanghai"
volumes:
- /data/nginx/cert:/cert
- /data/nginx/html:/html
- /data/nginx/logs:/var/log/nginx
- /data/nginx/nginx.conf:/etc/nginx/nginx.conf
- /etc/localtime:/etc/localtime:ro
restart: always
privileged: true
networks:
app-net1:
ipv4_address: 172.19.0.31
deploy:
resources:
limits:
memory: 512m
molly:
image: eclipse-temurin:21-jre-jammy
container_name: molly
ports:
- "18891:18891"
environment:
- SPRING_PROFILES_ACTIVE=pro
volumes:
- /data/molly/logs:/logs/molly
- /data/molly/molly-pro.jar:/app.jar
- /data/molly/application-pro.yml:/config/application-pro.yml
- /etc/localtime:/etc/localtime:ro
command: java -server -Xms1g -Xmx1g -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai -Djava.security.egd=file:/dev/./urandom -jar /app.jar
privileged: true
restart: always
networks:
app-net1:
ipv4_address: 172.19.0.41
deploy:
resources:
limits:
memory: 2g