代码之家  ›  专栏  ›  技术社区  ›  THpubs

如何为卡夫卡本地开发配置docker-compose.yml?

  •  2
  • THpubs  · 技术社区  · 8 年前

    我正试着把卡夫卡放在一个docker容器里进行本地开发。我的docker-compose.yml如下所示:

    version: '3'
    services:
      zookeeper:
        image: wurstmeister/zookeeper
        ports:
          - "2181"
        hostname: zookeeper
      kafka:
        image: wurstmeister/kafka
        command: [start-kafka.sh]
        ports:
          - "9092"
        hostname: kafka
        environment:
          KAFKA_CREATE_TOPICS: "UploadFile:1:1,GetFile:1:1,TrackUpload:1:1,GetEmailContent:1:1" # topic:partition:replicas
          KAFKA_ADVERTISED_HOST_NAME: kafka # docker-machine ip
          KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
          KAFKA_ADVERTISED_PORT: 9092
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        depends_on:
          - "zookeeper"
    

    很遗憾,在本地主机上运行的节点应用程序(不在docker中)无法连接到它。我使用了url“kafka:9092”甚至“localhost:9092”。什么都不管用。知道发生了什么吗?

    1 回复  |  直到 8 年前
        1
  •  5
  •   vivekyad4v    8 年前

    为kafka服务公开主机端口9092,您应该能够通过应用程序或主机上的“localhost:9092”进行连接。

      ....
      kafka:
        image: wurstmeister/kafka
        command: [start-kafka.sh]
        ports:
          - "9092:9092"
      ....
    
    推荐文章