1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- ---
- version: '2'
- services:
- kafka-ui:
- container_name: kafka-ui
- image: provectuslabs/kafka-ui:latest
- ports:
- - 8080:8080
- depends_on:
- - zookeeper
- - kafka
- environment:
- KAFKA_CLUSTERS_0_NAME: local
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
- KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_PLAINTEXT
- KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
- KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";'
- zookeeper:
- image: wurstmeister/zookeeper:3.4.6
- environment:
- JVMFLAGS: "-Djava.security.auth.login.config=/etc/zookeeper/zookeeper_jaas.conf"
- volumes:
- - ./jaas/zookeeper_jaas.conf:/etc/zookeeper/zookeeper_jaas.conf
- ports:
- - 2181:2181
- kafka:
- image: confluentinc/cp-kafka:7.2.1
- hostname: kafka
- container_name: kafka
- ports:
- - "9092:9092"
- - "9997:9997"
- environment:
- KAFKA_BROKER_ID: 1
- KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
- KAFKA_ADVERTISED_LISTENERS: 'SASL_PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092'
- KAFKA_OPTS: "-Djava.security.auth.login.config=/etc/kafka/jaas/kafka_server.conf"
- KAFKA_AUTHORIZER_CLASS_NAME: "kafka.security.authorizer.AclAuthorizer"
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
- KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
- KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
- KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
- KAFKA_JMX_PORT: 9997
- KAFKA_JMX_HOSTNAME: localhost
- KAFKA_NODE_ID: 1
- KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
- KAFKA_LISTENERS: 'SASL_PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
- KAFKA_INTER_BROKER_LISTENER_NAME: 'SASL_PLAINTEXT'
- KAFKA_SASL_ENABLED_MECHANISMS: 'PLAIN'
- KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: 'PLAIN'
- KAFKA_SECURITY_PROTOCOL: 'SASL_PLAINTEXT'
- KAFKA_SUPER_USERS: 'User:admin'
- volumes:
- - ./scripts/update_run.sh:/tmp/update_run.sh
- - ./jaas:/etc/kafka/jaas
|