# docker-compose version version: '3.8' services: mysql: image: mysql:8.4 container_name: xxl-job-mysql environment: # 1、数据库密码设置,需要与Admin中配置一致: MYSQL_ROOT_PASSWORD: root_pwd # 2、数据库实例名称,需要与Admin中配置一致; MYSQL_DATABASE: xxl_job ports: - "3306:3306" volumes: # 说明:仅数据库首次初始化时执行; - ./doc/db/tables_xxl_job.sql:/docker-entrypoint-initdb.d/tables_xxl_job.sql:ro # 3、数据库持久化目录位置,建议自定义: - ${MYSQL_PATH:-/Users/admin/program/docker/instance/mysql}/conf:/etc/mysql/conf.d - ${MYSQL_PATH:-/Users/admin/program/docker/instance/mysql}/logs:/var/log/mysql - ${MYSQL_PATH:-/Users/admin/program/docker/instance/mysql}/data:/var/lib/mysql command: >- --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10 networks: - xxl-job-network xxl-job-admin: # 4、调度中心本地Build设置,如果期望使用推动DockerHub的镜像,可以注释当前启用的image、build配置,并启用如下设置版本的image配置; #image: xuxueli/xxl-job-admin:{version} image: xuxueli/xxl-job-admin:local build: context: ./xxl-job-admin dockerfile: Dockerfile container_name: xxl-job-admin environment: # 5、数据库密码设置,需要与上文Mysql中保持一致: PARAMS: >- --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=root_pwd ports: - "8080:8080" depends_on: mysql: condition: service_healthy networks: - xxl-job-network xxl-job-executor-sample-springboot: image: xuxueli/xxl-job-executor-sample-springboot:local build: context: ./xxl-job-executor-samples/xxl-job-executor-sample-springboot dockerfile: Dockerfile container_name: xxl-job-executor-sample-springboot environment: PARAMS: "--xxl.job.admin.addresses=http://xxl-job-admin:8080/xxl-job-admin" ports: - "9999:9999" depends_on: xxl-job-admin: condition: service_started networks: - xxl-job-network networks: xxl-job-network: driver: bridge