我用以下命令从wurstmeister kafka启动了一个docker容器:
docker run -ti --name sender --entrypoint /bin/bash wurstmeister/kafka:latest
然后我使用命令:
docker exec -ti <container_id> bash
在bash中,我尝试设置一个kafka生产者来发送消息。kafka服务器驻留在云上的vm中,公共地址为192.168.25.21。在容器内运行命令时:
/opt/kafka/bin/kafka-console-producer.sh --broker-list 192.168.25.21:9092 --topic test
我得到broker list参数中的错误。broker list参数需要一个字符串作为参数,它将192.168.25.21识别为数字。如果我使用另一个服务器的dns名称,它可以正常工作。但是我希望能够使用前面描述的ip。有什么建议吗?
1条答案
按热度按时间txu3uszq1#
所以,
--entrypoint /bin/bash
应该已经把你送进候机楼了,没理由这么做exec -ti
再一次。以我的经验,不管怎样,ips都应该很好用,但欢迎你引用
--broker-list '192.168.25.21:9092'
. 但是,我通常会对至少三个代理地址使用一个字符串的导出环境变量,然后从任何cli工具使用该变量,而不是重复地复制和粘贴ip或主机顺便说一句,我并不认为这里需要 Docker 。如果你不能/不愿意安装java或kafka下载,
kafkacat
是个不错的选择