# wurstmeister/kafka-docker

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wurstmeister-kafka-docker).**

6,968 stars · 2,667 forks · Shell · Apache-2.0

## Links

- GitHub: https://github.com/wurstmeister/kafka-docker
- Homepage: http://wurstmeister.github.io/kafka-docker/
- awesome-repositories: https://awesome-repositories.com/repository/wurstmeister-kafka-docker.md

## Description

This project provides a containerized distribution of Apache Kafka for deploying distributed messaging brokers and event streaming platforms. It functions as a cluster orchestrator that enables the launch of interconnected brokers to establish high-throughput data pipelines.

The system uses environment variables to automate topic provisioning and configure broker parameters during the container boot sequence. It manages network listener mapping and advertised hostnames to facilitate client connectivity across different networks.

Capability areas include cluster deployment, broker scaling management, and multi-architecture container support. The project also covers performance monitoring via Java Management Extensions and provides a shell interface for manual topic management and message production.

## Tags

### Data & Databases

- [Kafka Distributions](https://awesome-repositories.com/f/data-databases/kafka-distributions.md) — Provides a containerized distribution of Apache Kafka optimized for deployment via Docker environment variables.
- [Event Streaming Platforms](https://awesome-repositories.com/f/data-databases/event-streaming-platforms.md) — Implements a distributed event streaming platform deployed within containers for real-time data pipelines.
- [Message Brokers](https://awesome-repositories.com/f/data-databases/message-brokers.md) — Functions as a distributed messaging broker facilitating reliable high-throughput publish-subscribe communication.
- [CLI Message Browsers](https://awesome-repositories.com/f/data-databases/kafka-message-browsers/cli-message-browsers.md) — Provides a command line interface for manual message production, data consumption, and topic management. ([source](http://wurstmeister.github.io/kafka-docker/))
- [Listener Mapping](https://awesome-repositories.com/f/data-databases/redis-clients/cluster-connectivity/network-address-mapping/listener-mapping.md) — Maps internal and external communication ports to allow client connectivity from both inside and outside the network. ([source](https://github.com/wurstmeister/kafka-docker/blob/master/docker-compose-swarm.yml))

### DevOps & Infrastructure

- [Container Cluster Deployments](https://awesome-repositories.com/f/devops-infrastructure/container-cluster-deployments.md) — Deploys a containerized environment comprising multiple brokers and coordination services for high availability. ([source](http://wurstmeister.github.io/kafka-docker/))
- [Containerized Service Deployment](https://awesome-repositories.com/f/devops-infrastructure/containerized-service-deployment.md) — Runs containerized broker instances with configurable port mapping and DNS resolution for connectivity. ([source](https://github.com/wurstmeister/kafka-docker/blob/master/docker-compose-single-broker.yml))
- [Broker Node Identities](https://awesome-repositories.com/f/devops-infrastructure/broker-node-identities.md) — Supports assigning unique identity IDs and rack affinities to enable scaling and high availability. ([source](https://github.com/wurstmeister/kafka-docker#readme))

### Networking & Communication

- [Broker Connectivity Configurations](https://awesome-repositories.com/f/networking-communication/broker-connectivity-configurations.md) — Manages listeners and advertised hostnames to allow clients to connect to brokers across different networks.
- [Topic Initializers](https://awesome-repositories.com/f/networking-communication/messaging-api-integrations/topic-message-listeners/topic-initializers.md) — Provides automated creation and configuration of messaging topics with specific partition counts upon broker startup.
- [Broker Listener Configurations](https://awesome-repositories.com/f/networking-communication/network-port-configuration/port-sharing-mechanisms/dynamic-port-listeners/broker-listener-configurations.md) — Configures internal and external communication ports to manage how clients discover and connect to the broker.
- [Broker Scaling Management](https://awesome-repositories.com/f/networking-communication/message-brokers/broker-provisioning/broker-scaling-management.md) — Enables increasing or decreasing the number of running broker instances via container orchestration. ([source](http://wurstmeister.github.io/kafka-docker/))
- [Advertised Address Overrides](https://awesome-repositories.com/f/networking-communication/network-addressing/advertised-address-overrides.md) — Defines advertised hostnames and ports to ensure clients can connect to brokers across different network environments. ([source](https://github.com/wurstmeister/kafka-docker/blob/master/README.md))

### System Administration & Monitoring

- [Broker Network Advertising](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/server-service-binding/network-configurations/broker-network-advertising.md) — Defines how brokers advertise hostnames and ports to clients using multiple listener protocols. ([source](https://github.com/wurstmeister/kafka-docker#readme))
- [Kafka Cluster Administration](https://awesome-repositories.com/f/system-administration-monitoring/kafka-cluster-administration.md) — Orchestrates the setup of multiple Kafka brokers and coordination services for high availability and scaling.
- [Cluster Orchestration](https://awesome-repositories.com/f/system-administration-monitoring/kafka-cluster-administration/cluster-orchestration.md) — Orchestrates the launch of multiple interconnected brokers with automated topic provisioning and network setup.
- [Metric and Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors.md) — Configures JMX management extensions and ports to expose system metrics for performance analysis.

### Development Tools & Productivity

- [Application Initialization Scripts](https://awesome-repositories.com/f/development-tools-productivity/startup-configurations/application-initialization-scripts.md) — Uses entrypoint scripts to translate configuration variables into active system settings during the startup process.

### Software Engineering & Architecture

- [Environment Variable-Based Configuration](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/environment-variable-management/environment-variables/environment-variable-based-configuration.md) — Injects system settings and broker parameters via container environment variables to control startup behavior.
- [Runtime Parameter Tuning](https://awesome-repositories.com/f/software-engineering-architecture/runtime-parameter-tuning.md) — Allows adjusting internal broker settings via environment variables to tune message sizes and topic behavior. ([source](http://wurstmeister.github.io/kafka-docker/))

### Part of an Awesome List

- [Data Ingestion Pipelines](https://awesome-repositories.com/f/awesome-lists/data/data-ingestion-pipelines.md) — Containerized deployment for Kafka.
