首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用融合/cp-卡夫卡形象在码头与广告在本地主机和我的网络容器名称卡夫卡?

如何使用融合/cp-卡夫卡形象在码头与广告在本地主机和我的网络容器名称卡夫卡?
EN

Stack Overflow用户
提问于 2018-04-30 23:39:42
回答 1查看 888关注 0票数 3

如何使用融合/cp图像在码头上与暴露在本地主机和我的网络容器名称卡夫卡?

不要将此链接为以下副本:

  1. 从本地主机和另一个码头容器连接到码头卡夫卡集装箱
  2. 无法从码头运行的服务中向kafka发出消息。

这些并不能解决我的问题,因为他们使用的方法被汇合/cp贬低了,我想连接本地主机和码头网络。

在confluent/cp上的配置脚本中,他们执行这个烦人的任务:

代码语言:javascript
复制
# By default, LISTENERS is derived from ADVERTISED_LISTENERS by replacing
# hosts with 0.0.0.0. This is good default as it ensures that the broker
# process listens on all ports.
if [[ -z "${KAFKA_LISTENERS-}" ]]
then
  export KAFKA_LISTENERS
  KAFKA_LISTENERS=$(cub listeners "$KAFKA_ADVERTISED_LISTENERS")
fi

它总是将我给KAFKA_ADVERTISED_LISTENERS的任何东西设置为0.0.0.0!使用码头网络

代码语言:javascript
复制
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9093,PLAINTEXT://kafka:9093

我希望侦听器要么是localhost:9092,要么是0.0.0.0:9092,或者是一些对接者ip PLAINTEXT://172.17.0.1:9093 (无论卡夫卡在码头网络上决定做什么)。

目前,我只能得到一个或另一个工作。因此,使用localhost,它只能在主机系统上工作,没有码头容器可以访问它。使用kafka,它只工作在码头网络,没有主机应用程序可以访问它。我希望这两者都能发挥作用。我使用的码头组成,以便我可以有动物园管理员,卡夫卡,红色,我的应用程序启动。我有其他的应用程序,将启动没有码头。

更新,所以当我设置PLAINTEXT://localhost:9092时,我可以访问在PLAINTEXT://localhost:9092之外运行的PLAINTEXT://localhost:9092

当我设置PLAINTEXT://kafka:9092时,我无法访问卡夫卡运行的码头,在码头之外。

这是预期的,但这样做:PLAINTEXT://localhost:9092,PLAINTEXT://kafka:9093我希望访问卡夫卡运行对接,无论是在内部和外部对接。融合/cp的图像正在抹去localhostkafka。将它们都设置为0.0.0.0,然后抛出一个错误,我将两个不同的端口设置为同一个ip.

也许我只是在撞上一些固执己见的码头形象,应该找个不同的形象.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-01 00:43:46

也许我只是在撞上一些固执己见的码头形象,应该找个不同的形象.

图像很好。你可能想读听众的这种解释

tl;博士-你不想(也不应该?)在不同的网络中使用相同的侦听器“协议”。

使用advertised.listeners,不需要编辑listeners

代码语言:javascript
复制
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:9092,PLAINTEXT_HOST://localhost:29092

在容器中加载PLAINTEXT://localhost:9093时,需要为9093添加端口映射,这应该是不言自明的,并且连接到localhost:9093,它应该可以工作。

然后,如果您也有PLAINTEXT://kafka:9092,那么这将只在Docker内部构建网络覆盖,而不是外部到您的DNS服务器,因为这就是Docker网络的工作方式。您应该能够使用--network标志或使用Docker组合连接容器作为该Docker网络的一部分运行其他应用程序。

请记住,如果在Mac上运行,推荐的方法(根据汇流文档)是在VM中的Docker中运行这些容器,在这里您可以使用Docker的--net=host标志正确地管理外部端口映射。但是,使用上面的博客,在VM之外的Mac上都能很好地工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50109610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档