ubuntu/kafka

Verified Publisher

By Canonical

Updated 5 months ago

Apache Kafka, a distributed event streaming platform. Long-term tracks maintained by Canonical.

Image
Message queues
62

1M+

ubuntu/kafka repository overview

ubuntu/kafka is a rock for kafka maintained by Canonical.

Apache Kafka is an open-source distributed event streaming platform for high-performance data pipelines, streaming analytics and integrations.

Receives security updates and tracks the newest combination of Apache Kafka and Ubuntu. This repository is free to use and exempted from per-user rate limits.

Apache Kafka 3 Quickstart

To deploy a single-broker containerized Kafka, you need to first deploy the ZooKeeper service and make sure that the ZooKeeper service is reachable by Kafka.

First, create a network

docker network create -d bridge kafka-network

Deploy the ZooKeeper service

docker run --detach  --name zookeeper --network kafka-network ubuntu/zookeeper:3.8-22.04_edge

Finally, deploy the Kafka service

docker run --detach --name kafka --network kafka-network -p 9092:9092 ubuntu/kafka:3.9-22.04_edge

Apache Kafka 4 Quickstart

To deploy a single-broker containerized Kafka, create a network first:

docker network create -d bridge kafka-network

Now, deploy the Apache Kafka service

docker run --detach \n  --name kafka \n  --network kafka-network \n  -p 9092:9092 \n  ubuntu/kafka:4.1-24.04_edge

To activate the Apache Kafka service, you need to format the logs directory and grant its ownership to the kafka user:

docker exec kafka \n  /opt/kafka/bin/kafka-storage.sh format \n  --standalone \n  --cluster-id $(cat /proc/sys/kernel/random/uuid | tr -d '-' | base64 | cut -b 1-22) \n  -c /etc/kafka/server.properties

docker exec kafka chown -R kafka:kafka /tmp/kraft-combined-logs/

Please note that the images tagged up to 3.1 are Dockerfile-base images, whereas from version 3.6.1 onward the images are now rocks.

[Learn more about kafka]

Tags and Architectures

NOTE: These tags follow a specific naming convention that respects the concept of channels.

TagsSupported untilVersionBaseArchitectures
3.1-22.04_beta
aliases3.1-22.04_edge, edge, latest
-3.122.04amd64, ppc64le, s390x, arm64
4.1-24.04_edge
aliases4.1-24.04_edge
05/20294.124.04amd64
3.9.1-22.04_edge
aliases3.9-22.04_edge
06/20273.9.122.04amd64
View deprecated tags
TagsSupport ended onUpgrade Path
3.6-22.04_edge09/2024 -

Get started

This rock's entrypoint is Pebble, a container-optimized init process that enables the orchestration of a collection of local service processes as an organized set.

[Learn more about Pebble]

Inspect

To view the Pebble services and checks defined in this rock:

docker run --rm ubuntu/kafka:3.6-22.04_edge plan
For an older version that is not a rock

The container spins up with the default entrypoint. To inspect the entrypoint and command:

docker inspect --format='{{.Config.Entrypoint}} {{.Config.Cmd}}' ubuntu/kafka:3.6-22.04_edge
Run

To run this rock, use any of the usual container runtimes, for example, docker:

docker run --name kafka-container \
    -p 9092:9092 \
    ubuntu/kafka:3.6-22.04_edge

Access the Apache Kafka server at localhost:9092.

For an older version that is not a rock
docker run --name kafka-container \
    -p 9092:9092 \
    ubuntu/kafka:3.6-22.04_edge

Access the Apache Kafka server at localhost:9092.

Get logs

To view the logs of the running container, run:

docker exec kafka-container pebble logs

Or, for a specific service:

docker exec kafka-container pebble logs <service>
For an older version that is not a rock

To view the logs of the running container, run:

docker logs kafka-container
Monitor health checks

Rocks may have predefined health checks that you can list by running:

docker exec kafka-container pebble checks

The overall health of your container can be inspected via:

docker exec kafka-container pebble health

Configuration

Environment variables
OptionDescriptionDefault
TZConfigure the container timezone value.UTC
ZOOKEEPER_HOSTHostname for the related Zookeeper instance. Only used in Apache Kafka 3.zookeeper
ZOOKEEPER_PORTPort for the related Zookeeper instance. Only used in Apache Kafka 3.2181
JAVA_HOMEDirectory in which Java is installed./usr/lib/jvm/java-18-openjdk-amd64
Volumes
OptionDescriptionDefault
-v <path>:/etc/kafka/server.propertiesOverride Kafka server configuration file.None
-v <path>:/var/lib/kafkaPersist data mounted inside the container. The mount point should be consistent with the configuration property logs.dirs.None
Ports
OptionDescriptionDefault
-p <port>:9092Expose the container's port 9092 on the host's <port>.None

[Report a bug] [Contribute]

Canonical is the provider of this container image. It is the user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within, as well as with Canonical’s IP Policy.

Tag summary

Content type

Image

Digest

sha256:a04e8d3c9

Size

183.3 MB

Last updated

about 3 years ago

docker pull ubuntu/kafka

This week's pulls

Pulls:

29,446

Last week