在mac上为zookeeper释放一个端口

时间:2017-09-01 11:12:15

标签: docker apache-kafka port apache-zookeeper

我知道之前可能会问过这个问题。但是我在过去的2个小时里一直在努力。

我正在关注apache kafka的教程,并尝试运行此命令来运行docker容器:

docker run --rm -p 2181:2181 -p 3030:3030 -p 8081-8083:8081-8083 -p 9581-9585:9581-9585 -p 9092:9092 -e ADV_HOST=192.168.99.100            landoop/fast-data-dev:latest

但是我收到了这个错误:

ocker: Error response from daemon: driver failed programming external connectivity on endpoint friendly_austin
 (7fe43e4a4081d4ac072a8fbb9582b9456eb71e488fe9a21c358a916061709005): Error starting userland proxy: Bind for 0.0.0.0:2181 failed: port is already allocated.

我知道这与分配的端口2181有关。

所以我跑了

lsof -i TCP:2181

我得到了以下pid:

COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    79831 omkar   27u  IPv6 0xa390d90220637c69      0t0  TCP *:eforward (LISTEN)

但是,我不明白我如何释放这个端口,或者取消分配它?我甚至需要这样做吗?

非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

这是一个泊坞窗错误 - 您无法映射容器的端口2181,因为您的主机已经使用它

只需修改此绑定:

docker run --rm -p 2182:2181 -p 3030:3030 -p 8081-8083:8081-8083 -p 9581-9585:9581-9585 -p 9092:9092 -e ADV_HOST=192.168.99.100            landoop/fast-data-dev:latest

请注意-p 2182 :2181

我在这里使用了2182,你可以使用另一个 如果您需要使用zookeeper地址,请访问:2182