2017-09-01 108 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