我在 kafka 中创建了一个具有 replica=2 的主题,并且 kafka 正在我的 docker 机器中运行。
通常,我应该能够使用端口 9092 连接到 docker。但我不能
虽然,我可以使用 32783 连接。不知道是什么原因?
It's the Docker run command (which is not shown in the question). 9092 internally is being mapped out to 32783,32784,32785. I am guessing the three docker run commands were -p 32783:9092
etc.
You should run it with -p 9092:9092
if you want it to be 9092 on your local machine.
在我的 Mac 上,我在这样的容器中运行 Kafka(注意ADVERTISED_HOST
env var):
docker run --name st-kafka -p 2181:2181 -p 9092:9092 --add-host=dockerhost:`docker-machine ip dev-st` -e ADVERTISED_HOST=`docker-machine ip dev-st` -e ADVERTISED_PORT=9092 -d spotify/kafka
我喜欢spotify/kafka
它,因为它在同一个容器中包含 ZK 和 Kafka(非常适合本地开发环境)。我认为是最新版本0.8.2
,因此您应该使用不同的图像或使用 0.9 版制作自己的图像Dockerfile
,如果您需要的话。