Java 无法从docker中运行的服务向kafka生成消息
我在端口5000的docker容器中运行了一个rest服务,该服务用于在docker容器中运行完kafka主题后生成消息 我已使用以下属性配置producer客户端:-Java 无法从docker中运行的服务向kafka生成消息,java,docker,apache-kafka,kafka-producer-api,Java,Docker,Apache Kafka,Kafka Producer Api,我在端口5000的docker容器中运行了一个rest服务,该服务用于在docker容器中运行完kafka主题后生成消息 我已使用以下属性配置producer客户端:- bootstrap.servers=localhost:9093 我已经用下面的命令启动了我的控制:- docker run -d -p 127.0.0.1:5000:5000 <contained id> 尽管在我尝试制作卡夫卡主题时有所有配置,但我得到以下错误:- org.apache.kafka.commo
bootstrap.servers=localhost:9093
我已经用下面的命令启动了我的控制:-
docker run -d -p 127.0.0.1:5000:5000 <contained id>
尽管在我尝试制作卡夫卡主题时有所有配置,但我得到以下错误:-
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
有人能指出实际问题在哪里吗?在现实生活中,
广告的.host.name
永远不应该是localhost
在您的情况下,您在网桥网络模式下运行Docker容器,因此它将无法通过localhost
到达代理,因为它将指向容器网络,而不是主机
要使其正常工作,您应该将advised.host.name
和bootstrap.servers
设置为ifconfig docker0
返回的IP地址(在您的情况下可能不是docker0,但您明白了这一点)
或者,您可以使用--net=host
运行容器,但我认为您最好正确配置播发的主机名
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.