Локальное окружение для разработки с Kafka, Redpanda Console и PostgreSQL.
| Сервис | Образ | Назначение | Доступ с хоста |
|---|---|---|---|
kafka |
apache/kafka:4.3.0 |
Одноузловой Kafka-брокер в KRaft-режиме | localhost:9092 |
console |
docker.redpanda.com/redpandadata/console:v2.8.15 |
Веб-интерфейс для просмотра топиков, сообщений и consumer groups | http://localhost:8080 |
db |
postgres:18.4 |
PostgreSQL для локальных интеграций | localhost:5432 |
- Docker
- Docker Compose v2 (
docker compose)
Запустить окружение:
docker compose up -dОткрыть Redpanda Console:
http://localhost:8080
Подключение к Kafka:
- с хоста:
localhost:9092 - из контейнеров в этой compose-сети:
kafka:29092
Подключение к PostgreSQL:
host: localhost
port: 5432
database: test_db
user: postgres
password: postgres
Показать список топиков:
docker compose exec kafka /opt/kafka/bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--listСоздать тестовый топик:
docker compose exec kafka /opt/kafka/bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create \
--topic demo-events \
--partitions 1 \
--replication-factor 1Отправить сообщение:
docker compose exec kafka /opt/kafka/bin/kafka-console-producer.sh \
--bootstrap-server localhost:9092 \
--topic demo-eventsПосле запуска producer введите сообщение и нажмите Enter.
Прочитать сообщения:
docker compose exec kafka /opt/kafka/bin/kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic demo-events \
--from-beginningПосмотреть логи:
docker compose logs -fОстановить контейнеры:
docker compose downОстановить и удалить локальные данные контейнеров:
docker compose down -vRedpanda Console читает конфигурацию из console_config/config.yaml. Сейчас она подключается к Kafka по внутреннему адресу compose-сети:
kafka:
brokers:
- kafka:29092Kafka работает без ZooKeeper, в одноузловом KRaft-режиме. Настройки listener'ов находятся в docker-compose.yaml.