blob: 4f8ff6d2961c9b56ee35abdb2cd797e0cf8455d9 [file] [log] [blame]
################################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
################################################################################
version: '2.1'
services:
jobmanager:
image: apache/flink-table-walkthrough:1-FLINK-1.13-scala_2.12
build: .
hostname: "jobmanager"
expose:
- "6123"
ports:
- "8082:8081"
command: standalone-job
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
depends_on:
- kafka
- mysql
taskmanager:
image: apache/flink-table-walkthrough:1-FLINK-1.13-scala_2.12
build: .
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: "kafka:1:1"
data-generator:
image: apache/data-generator:1
build: ../docker/data-generator
depends_on:
- kafka
mysql:
image: mysql:8.0.19
command: --default-authentication-plugin=mysql_native_password --secure_file_priv=/data
environment:
MYSQL_USER: "sql-demo"
MYSQL_PASSWORD: "demo-sql"
MYSQL_DATABASE: "sql-demo"
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
volumes:
- ../docker/mysql-spend-report-init:/docker-entrypoint-initdb.d
- ./data:/data
grafana:
image: grafana/grafana:7.5.8
ports:
- "3000:3000"
depends_on:
- mysql
volumes:
- ../docker/grafana-spend-report-init/provisioning/:/etc/grafana/provisioning/
- ../docker/grafana-spend-report-init/dashboard.json:/etc/grafana/dashboard.json
- ../docker/grafana-spend-report-init/grafana.ini:/etc/grafana/grafana.ini