我正在尝试从另一个码头工人容器连接到 kafka docker 容器。但它没有连接。
为了运行kafka和zookeeper,我使用了docker compose文件:
version: '2'
services:
zookeeper:
image: "confluentinc/cp-zookeeper:latest"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
# This has three listeners you can experiment with.
# BOB for internal traffic on the Docker network
# FRED for traffic from the Docker-host machine (`localhost`)
# ALICE for traffic from outside, reaching the Docker host on the DNS name `never-gonna-give-you-up`
# Use
kafka0:
image: "confluentinc/cp-kafka"
ports:
- '9092:9092'
- '29094:29094'
depends_on:
- zookeeper
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: LISTENER_BOB://kafka0:29092,LISTENER_FRED://kafka0:9092,LISTENER_ALICE://kafka0:29094
KAFKA_ADVERTISED_LISTENERS: LISTENER_BOB://kafka0:29092,LISTENER_FRED://localhost:9092,LISTENER_ALICE://never-gonna-give-you-up:29094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_BOB:PLAINTEXT,LISTENER_FRED:PLAINTEXT,LISTENER_ALICE:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_BOB
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
容器docker compose 17138956372294708100 _ kafkatest . producer _ 1和docker compose 17138956372294708100 _ kafkatest . consumer _ 1用于生成和消费消息。当容器docker compose 17138956372294708100 _ kafkatest . producer _ 1尝试使用bootstrap.servers参数(localhost:9092或never-got-to-give-you-up:29094)连接到kafka集群时,它显示错误
%7|1569945335.015|BROKERFAIL|rdkafka#producer-1| [thrd:never-gonna-give-you-up:29094/bootstrap]: never-gonna-give-you-up:29094/bootstrap: failed: err: Local: Host resolution failure: (errno: Bad address)
%3|1569945335.015|FAIL|rdkafka#producer-1| [thrd:never-gonna-give-you-up:29094/bootstrap]: never-gonna-give-you-up:29094/bootstrap: Failed to resolve 'never-gonna-give-you-up:29094': Name or service not known (after 1656ms in state CONNECT)
%3|1569945335.015|ERROR|rdkafka#producer-1| [thrd:never-gonna-give-you-up:29094/bootstrap]: never-gonna-give-you-up:29094/bootstrap: Failed to resolve 'never-gonna-give-you-up:29094': Name or service not known (after 1656ms in state CONNECT)
%7|1569945335.015|STATE|rdkafka#producer-1| [thrd:never-gonna-give-you-up:29094/bootstrap]: never-gonna-give-you-up:29094/bootstrap: Broker changed state CONNECT -> DOWN
%3|1569945335.015|ERROR|rdkafka#producer-1| [thrd:never-gonna-give-you-up:29094/bootstrap]: 1/1 brokers are down
我该怎么修?
dockercompose1713895637294708100_Kafka特。producer1正在尝试使用引导连接到kafka集群。服务器
参数(localhost:9902
或永远不会放弃:29094
)
从另一个 Docker 容器中,这两种方法都不正确。
>
永不放弃
在Docker配置中作为主机名/DNS记录不存在于任何地方。基于错误,您的外部DNS服务器也不知道那是什么
localhost
指的是Kafka客户端容器,而不是主机或代理容器。
根据您的组合配置,您需要连接到< code>kafka0主机/服务,它在端口29092上为< code>bootstrap.servers通告
# BOB for internal traffic on the Docker network
KAFKA_ADVERTISED_LISTENERS: LISTENER_BOB://kafka0:29092
您可能还应该删除LISTENER_ALICE,因为它不提供任何有用的连接细节,除非您的主机的外部主机名实际上是< code > never-got-to-give-you-up
您将希望将生产者和消费者作为合成文件的一部分
请尝试以下配置:
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
ports:
- "32181:32181"
environment:
ZOOKEEPER_CLIENT_PORT: 32181
ZOOKEEPER_TICK_TIME: 2000
kafka0:
image: confluentinc/cp-kafka:latest
ports:
- "9090:9090"
depends_on:
- zookeeper
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:32181
KAFKA_ADVERTISED_LISTENERS: LISTENER_INTERNAL://kafka0:29090,LISTENER_EXTERNAL://localhost:9090
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_INTERNAL:PLAINTEXT,LISTENER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_INTERNAL
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
使用此配置,如果从主机连接到代理的容器,则使用IPlocalhost:9090
。如果从具有相同网络的其他容器连接,则使用kafka0:29090
。
我想在一个docker容器中运行Rabbitmq服务器,并使用芹菜从另一个容器连接到它(http://celeryproject.org/) 我已使用以下命令运行rabbitmq。。。 然后通过 当我试图做非常基本的教程来验证http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html 我得
redisConnectOptions docker-compose.yml docker log
问题内容: 我有应用程序,使用过Tornado和tornado-redis。我开始[redis]中的[image“ app” 然后我想将我的应用程序与redis链接: 我有错误: 我已经用本地tornado和redis测试了我的代码,并且可以正常工作。问题在 为什么我的应用无法连接到Redis容器?如何解决?我使用标准端口6379。 谢谢! 问题答案: 尝试在上使用redis 。(请参见此处的源代
要运行测试文件,Flask应用程序需要连接到Redis。我尝试将这些URL用于redis主机,如localhost:6379,redis:6379,0.0.0.0:6379,但都没有用。他们都告诉我连接错误或连接拒绝。 知道如何从jenkins docker容器中连接到redis吗?
我有一个docker映像,我正在使用它作为我的git服务器,我有我所有的数据在其中。然后我就有了一个数据库容器,在那里我需要从我的git docker服务器克隆数据。 我的docker-compose.yml文件是: 对于git docker,我只创建了git repos。 在我的数据库dockerfile中,我正在克隆那个repo。 当我运行docker-compose构建时 请确保您具有正确的
我已经使用docker工具箱在视窗机器上安装了docker。我也在我的视窗机器上安装了mysql,服务器运行在端口3306上(localhost-127.0.0.1-在docker机器之外)。我在一个名为“micra-workq-svc”的docker网络内部的docker容器中运行一个冲刺启动应用程序,我希望在docker内部运行的应用程序连接到本地主机。我花了几个小时在谷歌上搜索,没有一个链接