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