[英]How to configure docker-compose.yml for Kafka local development?
I'm trying to setup Kafka in a docker container for local development.我正在尝试在 docker 容器中设置 Kafka 以进行本地开发。 My docker-compose.yml looks as follows:我的 docker-compose.yml 如下所示:
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181"
hostname: zookeeper
kafka:
image: wurstmeister/kafka
command: [start-kafka.sh]
ports:
- "9092"
hostname: kafka
environment:
KAFKA_CREATE_TOPICS: "UploadFile:1:1,GetFile:1:1,TrackUpload:1:1,GetEmailContent:1:1" # topic:partition:replicas
KAFKA_ADVERTISED_HOST_NAME: kafka # docker-machine ip
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_PORT: 9092
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- "zookeeper"
Unfortunately my node app running on my localhost (not in docker) cannot connect to it.不幸的是,我在本地主机(不在 docker 中)上运行的节点应用程序无法连接到它。 I used the url 'kafka:9092' and even 'localhost:9092'.我使用了 url 'kafka:9092' 甚至 'localhost:9092'。 Nothing works.什么都行不通。 Any idea what's happening?知道发生了什么吗?
Expose the host port 9092 for kafka service & you should be able to connect via "localhost:9092" from the app or host machine.为 kafka 服务公开主机端口 9092,您应该能够从应用程序或主机通过“localhost:9092”进行连接。
....
kafka:
image: wurstmeister/kafka
command: [start-kafka.sh]
ports:
- "9092:9092"
....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.