无法使用 docker compose 将 kafka 连接到具有不同端口的 zookeeper
Unable to connect kafka to zookeeper with different port using docker compose
我正在尝试将我的 kafka 设置与 zookeeper contain 连接,包含暴露到默认端口以外的其他端口,但是当我将端口更改为 2181 时,容器 运行ning 正常但是如果我更改我的 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 从那时起已经发布了几个版本
我正在尝试将我的 kafka 设置与 zookeeper contain 连接,包含暴露到默认端口以外的其他端口,但是当我将端口更改为 2181 时,容器 运行ning 正常但是如果我更改我的 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 从那时起已经发布了几个版本