services: # MySQL 服务(无数据持久化) mysql: image: mysql:8.0 container_name: xxl-job-mysql ports: - "3307:3306" environment: - MYSQL_ROOT_PASSWORD=123456 - MYSQL_DATABASE=xxl_job - MYSQL_ROOT_HOST=% - TZ=Asia/Shanghai command: --default-authentication-plugin=mysql_native_password restart: always networks: - xxl-job-network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-p123456"] interval: 5s timeout: 3s retries: 10 start_period: 10s # XXL-Job 调度中心(核心,无持久化) xxl-job-admin: image: xuxueli/xxl-job-admin:2.4.1 container_name: xxl-job-admin ports: - "8085:8080" environment: - TZ=Asia/Shanghai - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai - SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=123456 - XXL_JOB_ACCESS_TOKEN=default_token - XXL_JOB_LOG_RETENTION_DAYS=30 depends_on: mysql: condition: service_healthy restart: always networks: - xxl-job-network networks: xxl-job-network: driver: bridge