services: mariadb: image: mariadb:11.8 container_name: mariadb environment: MYSQL_ROOT_PASSWORD: rootpassword volumes: - ./sql/mariadb.cnf:/etc/mysql/mariadb.conf.d/mariadb.cnf - ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql ports: - "3306:3306" healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 5 start_period: 30s jobmanager: build: . container_name: jobmanager environment: - | FLINK_PROPERTIES= jobmanager.rpc.address: jobmanager execution.checkpointing.interval: 60s execution.checkpointing.mode: EXACTLY_ONCE execution.checkpointing.min-pause: 30s execution.checkpointing.timeout: 120s state.backend: hashmap state.checkpoints.dir: file:///opt/flink/checkpoints state.savepoints.dir: file:///opt/flink/savepoints restart-strategy: fixed-delay restart-strategy.fixed-delay.attempts: 3 restart-strategy.fixed-delay.delay: 10s metrics.reporters: prom metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory metrics.reporter.prom.port: 9091 ports: - "8081:8081" depends_on: mariadb: condition: service_healthy command: jobmanager volumes: - ./jobs/job.sql:/opt/flink/job.sql - flink-checkpoints:/opt/flink/checkpoints - flink-savepoints:/opt/flink/savepoints taskmanager: build: . environment: - | FLINK_PROPERTIES= jobmanager.rpc.address: jobmanager taskmanager.numberOfTaskSlots: 2 execution.checkpointing.interval: 60s execution.checkpointing.mode: EXACTLY_ONCE execution.checkpointing.min-pause: 30s execution.checkpointing.timeout: 120s state.backend: hashmap state.checkpoints.dir: file:///opt/flink/checkpoints state.savepoints.dir: file:///opt/flink/savepoints restart-strategy: fixed-delay restart-strategy.fixed-delay.attempts: 3 restart-strategy.fixed-delay.delay: 10s metrics.reporters: prom metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory metrics.reporter.prom.port: 9091 depends_on: - jobmanager command: taskmanager volumes: - flink-checkpoints:/opt/flink/checkpoints - flink-savepoints:/opt/flink/savepoints deploy: replicas: 2 volumes: flink-checkpoints: flink-savepoints: