version: '2.1' services: sql-client: image: fhueske/flink-sql-training-client:2-FLINK-1.11-scala_2.11 build: ./images/client-image command: "java -classpath /opt/data/data-producer.jar com.ververica.sql_training.data_producer.TaxiRecordProducer --input file /opt/data --output kafka kafka:9092 --speedup 10.0" depends_on: - kafka - jobmanager - mysql - minio environment: FLINK_JOBMANAGER_HOST: jobmanager ZOOKEEPER_CONNECT: zookeeper KAFKA_BOOTSTRAP: kafka MYSQL_HOST: mysql jobmanager: image: fhueske/flink-sql-training-flink-s3:1.11.1-scala_2.11 build: ./images/flink-image hostname: "jobmanager" expose: - "6123" ports: - "8081:8081" command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager taskmanager: image: fhueske/flink-sql-training-flink-s3:1.11.1-scala_2.11 build: ./images/flink-image expose: - "6121" - "6122" depends_on: - jobmanager command: taskmanager links: - jobmanager:jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager zookeeper: image: wurstmeister/zookeeper:3.4.6 ports: - "2181:2181" kafka: image: wurstmeister/kafka:2.12-2.2.1 ports: - "9092:9092" depends_on: - zookeeper environment: KAFKA_ADVERTISED_HOST_NAME: "kafka" KAFKA_ADVERTISED_PORT: "9092" HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_CREATE_TOPICS: "Rides:1:1, Fares:1:1, DriverChanges:1:1" volumes: - /var/run/docker.sock:/var/run/docker.sock mysql: image: mysql:8.0.19 command: --default-authentication-plugin=mysql_native_password environment: MYSQL_USER: "flink" MYSQL_PASSWORD: "secret" MYSQL_DATABASE: "flinksql" MYSQL_RANDOM_ROOT_PASSWORD: "yes" volumes: - ./mysql:/docker-entrypoint-initdb.d minio: image: minio/minio:latest entrypoint: sh command: -c 'mkdir -p /data/sql-training && /usr/bin/minio server /data' environment: - MINIO_ACCESS_KEY=flink-sql - MINIO_SECRET_KEY=flink-sql expose: - "9000" ports: - "9000:9000"