Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从docker容器向外部Kafka代理发布消息_Docker_Apache Kafka_Kafka Producer Api - Fatal编程技术网

从docker容器向外部Kafka代理发布消息

从docker容器向外部Kafka代理发布消息,docker,apache-kafka,kafka-producer-api,Docker,Apache Kafka,Kafka Producer Api,在我的IDE中,我能够利用spring引导应用程序(使用Kafkaproducer)向外部kafka代理生成消息。但一旦我在docker容器中托管了spring boot应用程序,我的应用程序就不能再提交给代理了。 以下是错误消息: o.s.k.support.LoggingProducerListener: Exception thrown when sending a message with key='null' and payload='....' to topic Catego

在我的IDE中,我能够利用spring引导应用程序(使用Kafkaproducer)向外部kafka代理生成消息。但一旦我在docker容器中托管了spring boot应用程序,我的应用程序就不能再提交给代理了。 以下是错误消息:

    o.s.k.support.LoggingProducerListener: Exception thrown when sending a message with key='null' and payload='....' to topic Category: 
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
    org.springframework.kafka.core.KafkaProducerException: 
Failed to send; nested exception is org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
我过去运行docker的是:
docker run-p 9001:9001-d image_name
,其中9001是我的spring引导端口,我可以发布到该端口,只是一旦发布消息,它就不会到达外部代理。
我想我有一个普遍的概念,Docker集装箱生活在与世隔绝的土地上,在那里你必须打开/绘制港口地图才能进入港口(比如我的-p 9002:9002),但从集装箱进入港口的方式是否相同?如果是这样,有人能告诉我如何运行docker容器以便能够访问外部代理(假设代理URL为“192.168.1.1:9000”)?我认为我现在无法在代理上修改任何内容,但我的假设是,如果我可以通过IDE访问,为什么不在docker中呢?谢谢你的帮助

这是因为我的ip转发=0,一旦打开,我就可以执行传出请求