services: chicken-farm-mysql: image: mysql:8.0.42 container_name: cf-mysql environment: # 时区上海 - TZ=Asia/Shanghai # root 密码 - MYSQL_ROOT_PASSWORD=rootcf # 初始化数据库(后续的初始化sql会在这个库执行) - MYSQL_DATABASE=ChickenFarmDB_V1 ports: - "3306:3306" volumes: - ./mysql/data/:/var/lib/mysql/ - ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql command: # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配) --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 privileged: true networks: - chicken-net chicken-farm-redis: image: redis:7.2.8 container_name: cf-redis ports: - "6379:6379" environment: # 时区上海 TZ: Asia/Shanghai volumes: # 配置文件 #- ./redis/conf/redis.conf:/redis/config/redis.conf # 数据文件 #- ../../.data/redis/data:/redis/data/:rw #配置文件 - ./redis/conf/redis.conf:/redis/config/redis.conf #数据文件 - ./redis/data:/redis/data/:rw command: /bin/bash -c "mkdir -p /redis/data && chmod 777 /redis/data && redis-server /redis/config/redis.conf" privileged: true networks: - chicken-net chicken-farm-admin-server: image: cf-admin-server:1.0.0 container_name: cf-admin-server environment: # 时区上海 TZ: Asia/Shanghai #SERVER_PORT: 6080 JAVA_OPTS: >- --spring.datasource.dynamic.datasource.master.url=jdbc:mysql://cf-mysql:3306/ChickenFarmDB_V1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true --spring.datasource.dynamic.datasource.master.username=root --spring.datasource.dynamic.datasource.master.password=rootcf --spring.data.redis.host=cf-redis --spring.data.redis.port=6379 --spring.data.redis.password=ChickenFarm2025 --xxl.job.admin-addresses=http://cf-job-server:8080/job --xxl.job.access-token=cf2025 --xxl.job.executor.appname=cf-job-executor --xxl.job.executor.port=6080 volumes: # 配置文件 - ./server/:/vber/server/ privileged: true ports: - "8080:8080" depends_on: - chicken-farm-mysql - chicken-farm-redis - chicken-farm-job-server networks: - chicken-net chicken-farm_admin-ui: image: cf-admin-ui:1.0.0 container_name: cf-admin-ui environment: # 时区上海 TZ: Asia/Shanghai depends_on: - chicken-farm-admin-server ports: - "80:80" volumes: # 配置映射 - ./nginx/conf:/etc/nginx/conf.d # 证书映射 - ./nginx/cert:/etc/nginx/cert # 日志目录 - ./nginx/logs:/var/log/nginx privileged: true networks: - chicken-net chicken-farm-job-server: image: cf-job-server:1.0.0 container_name: cf-job-server environment: # 时区上海 TZ: Asia/Shanghai JAVA_OPTS: >- --spring.datasource.url=jdbc:mysql://cf-mysql:3306/ChickenFarmDB_V1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true --spring.datasource.username=root --spring.datasource.password=rootcf --xxl.job.accessToken=cf2025 ports: - "6076:8080" - "10086:10086" - "10010:10010" volumes: - ./job/logs/:/vber/job/logs privileged: true depends_on: - chicken-farm-mysql networks: - chicken-net networks: chicken-net: external: false