X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=docker%2Fdocker-compose.yml;h=3820311762b8614c3c3b486f8cf0013206e2dd30;hb=72b815ece3f59e1925651dd74baef6ebe45bb677;hp=e2de5a5488b6e8382883134b650c3b98e8b4c7e5;hpb=4490e8ca536b331931f148ac0391186cd0ae81c5;p=demos%2Fkafka%2Ftraining diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index e2de5a5..3820311 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -25,6 +25,7 @@ services: - kafka-1-data:/var/lib/kafka/data ports: - 9081:9081 + stop_grace_period: 120s depends_on: - zookeeper @@ -48,6 +49,7 @@ services: default: aliases: - kafka + stop_grace_period: 120s depends_on: - zookeeper @@ -66,13 +68,68 @@ services: - kafka-3-data:/var/lib/kafka/data ports: - 9083:9083 + stop_grace_period: 120s depends_on: - zookeeper + schema-registry: + image: confluentinc/cp-schema-registry:7.5.1 + environment: + SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092 + SCHEMA_REGISTRY_HOST_NAME: schema-registry + SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8085 + SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO + ports: + - 8085:8085 + depends_on: + - kafka-1 + - kafka-2 + - kafka-3 + + connect: + image: confluentinc/cp-kafka-connect:7.5.1 + environment: + CONNECT_BOOTSTRAP_SERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092 + CONNECT_REST_PORT: 8083 + CONNECT_REST_LISTENERS: http://0.0.0.0:8083 + CONNECT_REST_ADVERTISED_HOST_NAME: connect + CONNECT_CONFIG_STORAGE_TOPIC: __connect-config + CONNECT_OFFSET_STORAGE_TOPIC: __connect-offsets + CONNECT_STATUS_STORAGE_TOPIC: __connect-status + CONNECT_GROUP_ID: kafka-connect + CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE: "true" + CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter + CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8085 + CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE: "true" + CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter + CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8085 + CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter + CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter + CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1 + CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1 + CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1 + CONNECT_PLUGIN_PATH: /usr/share/java/ + ports: + - 8083:8083 + depends_on: + - schema-registry + + cli: + image: juplo/toolbox + command: sleep infinity + stop_grace_period: 0s + depends_on: + - kafka-1 + - kafka-2 + - kafka-3 + setup: image: juplo/toolbox - command: > - bash -c " + command: + - bash + - -c + - | + cub kafka-ready -b kafka-1:9092,kafka-2:9092,kafka-3:9092 3 60 > /dev/null 2>&1 || exit 1 if [ -e INITIALIZED ] then echo -n Bereits konfiguriert: @@ -93,11 +150,9 @@ services: && kafka-topics --bootstrap-server kafka:9092 --describe --topic test \ && date > INITIALIZED fi - " + stop_grace_period: 0s depends_on: - - kafka-1 - - kafka-2 - - kafka-3 + - cli akhq: image: tchiotludo/akhq:0.23.0 @@ -110,17 +165,16 @@ services: docker-kafka-server: properties: bootstrap.servers: "kafka:9092" + schema-registry: + url: "http://schema-registry:8085" + connect: + - name: "connect" + url: "http://connect:8083" depends_on: - kafka-1 - kafka-2 - kafka-3 - cli: - image: juplo/toolbox - command: sleep infinity - depends_on: - - setup - volumes: zookeeper-data: zookeeper-log: