尝试为Kafka&amp ;;运行Docker镜像来自我的Mac上的confluentinc
的Zookeeper。不幸的是,Confluent Docker快速入门文档提供的命令使用net=host
does not work on Mac.。
以下是原始的docker启动脚本:
动物园管理员:
docker run -d \
--net=host \
--name=my-zookeeper \
-e ZOOKEEPER_CLIENT_PORT=2181 \
-e ZOOKEEPER_TICK_TIME=2000 \
-e ZOOKEEPER_SYNC_LIMIT=2 \
confluentinc/cp-zookeeper
卡夫卡:
docker run -d \
--net=host \
--name=my-kafka \
-e KAFKA_ZOOKEEPER_CONNECT=localhost:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
confluentinc/cp-kafka
所以我尝试删除net=host
,后者转为以下内容(我认为是正确的端口映射):
动物园管理员:
docker run -d \
--name=my-zookeeper \
-e ZOOKEEPER_CLIENT_PORT=2181 \
-e ZOOKEEPER_TICK_TIME=2000 \
-e ZOOKEEPER_SYNC_LIMIT=2 \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
confluentinc/cp-zookeeper
卡夫卡:
docker run -d \
--name=my-kafka \
-e KAFKA_ZOOKEEPER_CONNECT=localhost:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
-p 9092:9092 \
confluentinc/cp-kafka
当我以这种方式运行时 - 从两者中省略--net=host
,Kafka尝试连接到localhost/127.0.0.1:2181
而不是简单地localhost:2181
。不知道如何解决这个问题。