2017-09-01 109 views
-1

我知道这可能以前问过。但是我最近2个小时一直在为此苦苦挣扎。取消分配动物园管理员的mac上的端口

我下面在Apache卡夫卡的教程,并试图运行此命令运行泊坞窗容器:

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

这是一个码头工人的错误 - 你不能映射你的容器的口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 :2181

我在这里使用2182,你可以使用另一个 如果你需要使用zookeeper地址,这将通过:2182

+0

感谢treziac使事情变得更清晰 – Omkar