version: '3' services: mysql: image: mysql:8.0.34 container_name: tydata_mysql environment: # 时区上海 - Time zone Shanghai (Change if needed) TZ: Asia/Shanghai # root 密码 - root password MYSQL_ROOT_PASSWORD: yfg87gyuYiy1 MYSQL_DATABASE: tydata MYSQL_USER: tydata MYSQL_PASSWORD: 5vg67b3UNHu8 ports: - "21001:3306" volumes: # 数据挂载 - Data mounting - ./data/mysql/data:/var/lib/mysql # 日志 command: # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配) # Modify the Mysql 8.0 default password strategy to the original strategy (MySQL8.0 to change its default strategy will cause the password to be unable to match) --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 restart: always networks: - tydata_net - 1panel-network redis: image: redis:7.4.0 container_name: tydata_redis ports: - "21002:6379" environment: # 时区上海 - Time zone Shanghai (Change if needed) TZ: Asia/Shanghai volumes: # 数据文件 - data files - ./data/redis/data:/data:rw command: "redis-server --requirepass 3m3WsgyCKWqz --appendonly yes" privileged: true restart: always networks: - tydata_net asynqmon: image: hibiken/asynqmon:latest container_name: tydata_asynqmon ports: - "21003:8080" environment: - TZ=Asia/Shanghai command: - '--redis-addr=tydata_redis:6379' - '--redis-password=3m3WsgyCKWqz' restart: always networks: - tydata_net depends_on: - redis main: container_name: tydata_main build: context: . dockerfile: app/main/cmd/api/Dockerfile ports: - "21004:8888" environment: - TZ=Asia/Shanghai - ENV=production depends_on: - mysql - redis networks: - tydata_net restart: always networks: tydata_net: driver: bridge 1panel-network: external: true