我正在尝试使用这个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 PID也会出现一些其他的。
发布于 2018-10-28 05:10:53
我解决了这个问题;kafka和zookeeper实际上已经安装在本地,并且brew在后台运行它们……当我卸载它们的时候,一切都很好!
发布于 2018-10-27 23:36:31
您的一个容器似乎仍在使用端口9092 (如sudo lsof -i tcp:9092所示)。运行docker ps以确保没有容器在使用此端口运行。
此外,使用kill -9命令停止容器也不是正确的方法:
docker-compose (如您的示例所示),则可以运行docker-compose down来停止所有服务(因此停止文件中定义的所有容器)。或者,如果您只想使用docker命令关闭容器,则必须运行docker stop <container_id_or_name>,但我不建议您在使用docker-composekill -9命令,因为您可能已经在服务(https://docs.docker.com/compose/compose-file/compose-file-v2/#restart)上定义了重新启动策略,所以您会发现容器一次又一次地重启。在另一个容器退出后启动的容器(由kill -9引起)使用与前一个容器相同的端口,因此端口9092始终用于https://stackoverflow.com/questions/53022896
复制相似问题