我知道这以前可能会问过。但我已经挣扎了两个小时了。
我正在遵循有关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条答案
按热度按时间xmq68pz91#
这是docker错误-您无法Map容器的端口2181,因为您的主机已经在使用它
只需修改此绑定:
注意-p 2182:2181
我用了2182在这里,你可以使用另一个如果你需要使用zookeeper地址,这将是通过:2182