簡體   English   中英

無法使用 docker 組合將 kafka 連接到具有不同端口的 zookeeper

[英]Unable to connect kafka to zookeeper with different port using docker compose

我正在嘗試將我的 kafka 設置與 zookeeper 連接,包含暴露到默認端口以外的其他端口,但是當我將端口更改為 2181 時,容器運行正常,但如果我在 yml 文件中更改端口,我無法運行它,任何指導都會有所幫助。

version: '3'

services:
 zookeeper:
  image: wurstmeister/zookeeper
  container_name: zookeeper
  ports:
   - "2182:2181"
 
 kafka:
  image: wurstmeister/kafka
  container_name: kafka
  ports:
   - "9092:9092"
  environment:
   KAFKA_ADVERTISED_HOST_NAME: localhost
   KAFKA_ZOOKEEPER_CONNECT: zookeeper:2182
 

正如@DavidMaze 建議的那樣。 您嘗試連接暴露在外部的 2182。 只需嘗試以下。

version: '3'

services:
 zookeeper:
  image: wurstmeister/zookeeper
  container_name: zookeeper
  ports:
   - "2182:2181"
 
 kafka:
  image: wurstmeister/kafka
  container_name: kafka
  ports:
   - "9092:9092"
  environment:
   KAFKA_ADVERTISED_HOST_NAME: localhost
   KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

Zookeeper 有自己的配置來修改客戶端端口,您似乎對主機端口轉發感到困惑。

但是,wurstmeister 容器沒有環境變量來配置它,所以你只能使用 2181。

你可能甚至不應該有一個端口轉發,因為幾乎沒有理由從主機連接到 Zookeeper

還值得指出的是,該圖像自 2019 年以來一直沒有更新,自那以后 Zookeeper 已經發布了幾個版本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM