![]() |
1
11
合并的快速启动文档假设所有的生产和消费请求都在Docker网络中。 您可以通过在自己的容器中运行Kafka客户机代码来解决这个问题,但是如果不这样做,您需要添加更多的环境变量,以便在外部公开容器,同时让它在Docker网络中工作。
首先添加
然后在不同端口上设置两个播发的侦听器。(
运行容器时,添加
tl;博士 (使用上述设置)
运行任何Kafka客户端时
外部
Docker网络(包括您可能在本地安装的CLI工具)使用
运行应用程序时
在Docker网络中
,使用
|
![]() |
2
4
当您第一次连接到kafka节点时,它将返回所有kafka节点和连接的url。然后您的应用程序将尝试直接连接到每个卡夫卡。
问题总是卡夫卡会给你什么网址?这就是为什么
现在,对于您的用例,有许多小问题需要考虑:
假设你准备好了
==>要解决此问题,您需要有一个特定的DNS服务器,如服务发现服务器,但对于小的东西来说,这是个大麻烦。或者手动设置
如果你设置
==>如果您有此功能并希望在另一个容器中使用kafka客户端,解决此问题的一种方法是共享两个容器的网络(相同的ip)
最后一个选项:在名称中设置IP:
这对每个人都没关系。。。但是你怎么知道x.y.z.a的名字?
唯一的方法是在启动容器时硬编码此ip:
|