无法连接到本地Docker容器(Windows)中的Kafka

无法连接到本地Docker容器(Windows)中的Kafka,docker,apache-kafka,Docker,Apache Kafka,我试图在Docker容器中本地启动Kafka,但似乎没有正确的选项组合 我运行的是Windows10,DockerCE版本2.0.0.3(31259) 我在做什么 在Docker容器中运行Zookeeper docker run-d--name=zookeeper1--network=host--env file=zookeeper\u options confluentinc/cp zookeeper 由于zookeeper运行良好,我将省略环境文件 在Docker容器中运行Kafka doc

我试图在Docker容器中本地启动Kafka,但似乎没有正确的选项组合

我运行的是Windows10,DockerCE版本2.0.0.3(31259)

我在做什么

  • 在Docker容器中运行Zookeeper

    docker run-d--name=zookeeper1--network=host--env file=zookeeper\u options confluentinc/cp zookeeper

  • 由于zookeeper运行良好,我将省略环境文件

  • 在Docker容器中运行Kafka

    docker run-d--network=host--name=kafka--env file=kafka\u options confluentinc/cp kafka

  • 使用
    kafka_选项
    文件

    KAFKA_ZOOKEEPER_CONNECT=zookeeper1:2181
    KAFKA_LISTENERS=PLAINTEXT://localhost:9092
    KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092
    
  • 尝试获取元数据列表

    kafkacat-b本地主机:29092-L

  • (这是我在Windows10Ubuntu子系统中做的,其他的都是我在PowerShell中运行的。我还有一个小的JavaKafka应用程序,它表现出同样的行为)

    结果是

    %错误:无法获取元数据:本地:代理传输失败

    我读到的

    显然,我不想用docker编写的文档;以及

    除此之外,最值得注意的是,我仍然看不出我做错了什么

    我还发现阻止您在Windows中使用正式的快速入门步骤;这让我尝试使用单独的网络运行替代方案

    独立网络

    按照问题中的步骤:

  • docker网络创建汇合
  • docker run-d--name=zookeeper1--network=confluent-p 22181:2181--env file=zookeeper\u options confluent inc/cp zookeeper
  • docker run-d--network=confluent--name=kafka-p 29092:9092--env file=kafka\u options confluent inc/cp kafka
  • kafkacat-b本地主机:29092-L
  • 这确实改变了结果

    %错误:无法获取元数据:本地:超时

    所以看起来它至少能连接起来,但最终并没有多大帮助

    问题是我做错了什么?是卡夫卡配置选项,还是我不知道的Docker问题

    编辑:


    它确实适用于,但我们不应该单独启动容器吗?

    发生这种情况时,您并行运行了多少个容器和哪些容器?发生这种情况时,您并行运行了多少个容器和哪些容器?