Crude, but semi-clean containerized Kafka cluster for prototyping and teaching purposes. There are a couple of niceties I want to add to it, but they'll come later.
To get the cluster running:
docker compose up -d
To get rid of the cluster:
docker compose down
docker compose exec -it [node service name] /bin/bash
The container image stores the usual Kafka command line utilities in /usr/bin
.
docker compose exec -it [kafka node service name] /bin/bash
zookeeper-shell $ZOOKEEPER
You'll end up with a barebones JLine-free minimally usable ZK shell.
- Mount host volumes in the containers to use as the cluster's data directories; also add some scripts for deleting the contents thereof during a full teardown.
- Possibly add
kafka-ui
container - Possibly add some of the Confluent platform images from
confluentinc/cp-*
on Docker Hub, assuming I end up needing them for what I ultimately use this for.