Reputation: 169
Hi I'm currently setting up Kafka with Docker. If I mention like below in docker-compose, I am able to expose Kafka container to non-dockerized applications but docker applications are not able to connect to kafka.
kafka:
container_name: kafka
build: docker/gravina-kafka
image: gravina-kafka
env_file: gravina.docker.env
depends_on: [ zk ]
ports:
- "9092:9092"
environment:
ZOOKEEPER_ADDRESS=zk:2181
KAFKA_ADDRESS=kafka:9092
KAFKA_ADVERTISED_LISTENERS="PLAINTEXT://kafka:9092"
KAFKA_LISTENERS="PLAINTEXT://:9092"
KAFKA_ZOOKEEPER_CONNECT=zk:2181
If I add below environment variables, it is working, but when I mention
KAFKA_ADVERTISED_LISTENERS="PLAINTEXT://kafka:9092"
wont it consider for both external and internal to docker? I dont want to mention two different ports(one for internal and one for external).
KAFKA_LISTENERS="INTERNAL://:29092,EXTERNAL://:9092"
KAFKA_ADVERTISED_LISTENERS="INTERNAL://kafka:29092,EXTERNAL://localhost:9092"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP="INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT"
KAFKA_INTER_BROKER_LISTENER_NAME="INTERNAL"
I checked some of the stackoverflow links, which did not help me, like: Kafka setup with docker-compose
Upvotes: 0
Views: 18