【问题标题】:Exposing port 8083 for kafka on docker gives error在 docker 上为 kafka 暴露端口 8083 会出错
【发布时间】:2021-03-02 00:06:15
【问题描述】:

docker-compose 文件的图片如下。

version: '2'
 
services:
  zookeeper:
    image: 'bitnami/zookeeper:3'
    ports:
      - '2181:2181'
    volumes:
      - 'zookeeper_data:/bitnami'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes

  kafka:
    image: 'bitnami/kafka:2'
    ports:
      - '9092:9092'
      - '29092:29092'
      - '8083:8083'
    volumes:
      - 'kafka_data:/bitnami'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,PLAINTEXT_HOST://:29092
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
    depends_on:
      - zookeeper    
volumes:
  zookeeper_data:
    driver: local
  kafka_data:
    driver: local

当我不尝试在 kafka 上公开端口 8083 时,图像工作得很好。当我尝试公开端口时,它会引发错误并且容器会停止。我的主要问题是我需要访问 kafka 连接,但我无法使用此配置在 docker 容器内执行此操作。有没有办法解决这个问题?

【问题讨论】:

    标签: apache-kafka docker-compose apache-kafka-connect


    【解决方案1】:

    问题可能是您的本地计算机没有可用的 8083 端口! 寻找它并尝试更改该端口绑定

    - '8084:8083'
    

    【讨论】:

      【解决方案2】:

      你在别处运行的东西占用了那个端口

      Kafka 代理没有在 8083 上运行任何东西,并且您向主机公开的侦听器只有 29092

      如果您尝试运行 Kafka Connect,请使用另一个容器,而不是代理

      我无法使用此配置在 docker 容器中执行此操作

      使用卡夫卡:9092

      【讨论】:

        猜你喜欢
        • 2017-04-01
        • 2018-09-03
        • 2019-10-24
        • 2019-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多