【发布时间】:2025-12-27 17:20:23
【问题描述】:
我正在尝试使用这个 docker 文件来启动 kafka 和 zookeeper
version: '2'
services:
kafka:
image: landoop/fast-data-dev:cp3.3.0
hostname: kafka-host
ports:
- 29092:29092
- 3030:3030 # Landoop UI
- 8081-8083:8081-8083 # REST Proxy, Schema Registry, Kafka Connect ports
- 9581-9585:9581-9585 # JMX Ports
- 2181:2181 # Zookeeper
- 9092:9092 # Kafka Broker
environment:
ADV_HOST: 127.0.0.1
RUNTESTS: 0
FORWARDLOGS: 0
SAMPLEDATA: 0
但我不断收到此错误消息
Cannot start service kafka: b'driver failed programming external connectivity on endpoint kafka-docker_kafka_1 (a741da2d21a00bb752fc169d579fa39bcdeef0cc88ec560d2e93b8fd287b8b5a): Error starting userland proxy: Bind for 0.0.0.0:9092 failed: port is already allocated'
即使在我删除了所有图像和容器之后...
与“sudo lsof -i tcp:9092”
我看到一些进程正在进行......但即使在我杀死它们之后,使用 kill -9 PIDsome other 出现......
【问题讨论】:
-
进程名如下:XmlIpcRegSvc
-
这样做可能会解决您的问题 1.docker rm $(docker ps -aq) 然后 2.stop docker daemon 3.sudo rm /var/lib/docker/network/files/local -kv.db 4. 启动 docker daemon 并重新创建你的容器
-
@ShashankPai 不确定是否真的需要步骤 2、3 和 4。
-
@norbjd 。 judy 提到即使在删除所有图像和容器后问题仍然存在。因此其他步骤
-
使用
pwdx [PID]查找该重复过程的工作目录,如果不再需要则将其删除
标签: macos docker apache-kafka port