|
--- |
|
version: '2' |
|
services: |
|
zookeeper: |
|
image: confluentinc/cp-zookeeper:4.1.2-1 |
|
hostname: zookeeper |
|
container_name: zookeeper |
|
ports: |
|
- "2181:2181" |
|
environment: |
|
ZOOKEEPER_CLIENT_PORT: 2181 |
|
ZOOKEEPER_TICK_TIME: 2000 |
|
|
|
broker: |
|
image: confluentinc/cp-enterprise-kafka:4.1.2-1 |
|
hostname: broker |
|
container_name: broker |
|
depends_on: |
|
- zookeeper |
|
ports: |
|
- "9092:9092" |
|
environment: |
|
KAFKA_BROKER_ID: 1 |
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' |
|
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker:9092' |
|
KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter |
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 |
|
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 |
|
CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:9092 |
|
CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: zookeeper:2181 |
|
CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1 |
|
CONFLUENT_METRICS_ENABLE: 'true' |
|
CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous' |
|
|
|
schema_registry: |
|
image: confluentinc/cp-schema-registry |
|
hostname: schema_registry |
|
container_name: schema_registry |
|
depends_on: |
|
- zookeeper |
|
- broker |
|
ports: |
|
- "8081:8081" |
|
environment: |
|
SCHEMA_REGISTRY_HOST_NAME: schema_registry |
|
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181' |
|
|
|
connect: |
|
image: confluentinc/cp-kafka-connect:4.1.2-1 |
|
hostname: connect |
|
container_name: connect |
|
depends_on: |
|
- zookeeper |
|
- broker |
|
- schema_registry |
|
ports: |
|
- "8083:8083" |
|
environment: |
|
CONNECT_BOOTSTRAP_SERVERS: 'broker:9092' |
|
CONNECT_REST_ADVERTISED_HOST_NAME: connect |
|
CONNECT_REST_PORT: 8083 |
|
CONNECT_GROUP_ID: compose-connect-group |
|
CONNECT_CONFIG_STORAGE_TOPIC: docker-connect-configs |
|
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1 |
|
CONNECT_OFFSET_FLUSH_INTERVAL_MS: 10000 |
|
CONNECT_OFFSET_STORAGE_TOPIC: docker-connect-offsets |
|
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1 |
|
CONNECT_STATUS_STORAGE_TOPIC: docker-connect-status |
|
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1 |
|
CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter |
|
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: 'http://schema_registry:8081' |
|
CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter |
|
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: 'http://schema_registry:8081' |
|
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter |
|
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter |
|
CONNECT_ZOOKEEPER_CONNECT: 'zookeeper:2181' |
|
|
|
ksql-server: |
|
image: confluentinc/cp-ksql-server:4.1.2-1 |
|
hostname: ksql-server |
|
container_name: ksql-server |
|
depends_on: |
|
- broker |
|
- connect |
|
ports: |
|
- "8088:8088" |
|
environment: |
|
KSQL_CONFIG_DIR: "/etc/ksql" |
|
KSQL_LOG4J_OPTS: "-Dlog4j.configuration=file:/etc/ksql/log4j-rolling.properties" |
|
KSQL_BOOTSTRAP_SERVERS: "broker:9092" |
|
KSQL_HOST_NAME: ksql-server |
|
KSQL_APPLICATION_ID: "cp-all-in-one" |
|
KSQL_LISTENERS: "http://0.0.0.0:8088" |
|
KSQL_CACHE_MAX_BYTES_BUFFERING: 0 |
|
KSQL_KSQL_SCHEMA_REGISTRY_URL: "http://schema-registry:8081" |
|
KSQL_PRODUCER_INTERCEPTOR_CLASSES: "io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor" |
|
KSQL_CONSUMER_INTERCEPTOR_CLASSES: "io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor" |
|
|
|
ksql-cli: |
|
image: confluentinc/cp-ksql-cli:4.1.2-1 |
|
container_name: ksql-cli |
|
depends_on: |
|
- broker |
|
- connect |
|
- ksql-server |
|
entrypoint: /bin/sh |
|
tty: true |