Как правило, вам нужно всего лишь создать контейнер для вашего собственного приложения. Уже есть множество доступных контейнеров для Kafka и Zookeeper.
Рекомендуется запустить простой стек Kafka, используя docker compose , а затем либо запустить приложение извне (например, из командной строки). или IDE) или создайте Docker-контейнер и запустите его.
Для простого стека Kafka с Kafka и Zookeeper потребуется простой файл docker-compose со следующим (конечно, в вашей системе должен быть установлен docker-compose):
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:4.0.0
restart: unless-stopped
ports:
- 2181:2181
environment:
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ZOOKEEPER_INIT_LIMIT: 5
ZOOKEEPER_SYNC_LIMIT: 2
kafka:
image: confluentinc/cp-kafka:4.0.0-2
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
Если вы поместите вышеперечисленное в файл с именем simple-kafka-stack.yml, вы можете выполнить его, выполнив команду:
docker-compose -f simple-kafka-stack.yml up