version: '3.8' services: # MySQL数据库 mysql: image: mysql:8.0 container_name: zselectric-openapi-mysql restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: zs_electric MYSQL_USER: zselectric MYSQL_PASSWORD: zselectric123 TZ: Asia/Shanghai volumes: - mysql-data:/var/lib/mysql - ./src/main/resources/sql:/docker-entrypoint-initdb.d command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --default-time-zone=+08:00 networks: - zselectric-network # 开放平台API服务 openapi: build: context: . dockerfile: Dockerfile container_name: zselectric-openapi restart: always ports: - "8081:8081" environment: SPRING_PROFILES_ACTIVE: prod SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/zs_electric?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 SPRING_DATASOURCE_USERNAME: zselectric SPRING_DATASOURCE_PASSWORD: zselectric123 TZ: Asia/Shanghai volumes: - ./logs:/var/log/zsElectric-openapi depends_on: - mysql networks: - zselectric-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8081/openapi/api/v1/health/check"] interval: 30s timeout: 10s retries: 3 start_period: 60s volumes: mysql-data: driver: local networks: zselectric-network: driver: bridge