У меня работает Zookeeper на порту 2181 (по умолчанию) и сервер Kafka, прослушивающий порт 9090 на моем локальном компьютере.
Когда я запускаю локально CLI-интерфейс kafka или локальные приложения для потребителей / производителей, у меня нетпроблема подключения.
Затем я пытаюсь объединить потребителя Kafka в контейнер Docker и запустить этот контейнер Docker локально, например:
docker run -p 9092:9092 --rm <DOCKER_IMAGE>
. Это выдает ошибку:
(Error starting userland proxy: Bind for 0.0.0.0:9090 failed: port is already allocated.)
* 1010.* Это имеет смысл, поскольку Kafka Server привязан к 9092, как показано в
nmap -p 9092 localhost
:
PORT STATE SERVICE
9092/tcp open XmlIpcRegSvc
У меня не возникнет проблем с отображением контейнера Docker на другой порт через -p XXX:9090
, но как это сделать?Я получаю локальный сервер Kafka для прослушивания этого нового порта без привязки к нему?