docker-compose.yml
---
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:${CONFLUENT_VERSION}
hostname: zookeeper
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
networks:
schema-registry-net:
ipv4_address: ${ZOOKEEPER_IPV4}
broker:
image: confluentinc/cp-kafka:${CONFLUENT_VERSION}
hostname: broker
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://172.68.0.102:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
networks:
schema-registry-net:
ipv4_address: ${KAFKA_BROKER_IPV4}
schema_registry:
image: confluentinc/cp-schema-registry:${CONFLUENT_VERSION}
hostname: schema_registry
depends_on:
- zookeeper
- broker
ports:
- "8081:8081"
environment:
SCHEMA_REGISTRY_HOST_NAME: ${SCHEMA_REGISTRY_IPV4}
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
SCHEMA_REGISTRY_LISTENERS: "http://${SCHEMA_REGISTRY_IPV4}:8081"
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: 'PLAINTEXT://172.68.0.102:9092'
networks:
schema-registry-net:
ipv4_address: ${SCHEMA_REGISTRY_IPV4}
networks:
schema-registry-net:
driver: bridge
ipam:
driver: default
config:
- subnet: "${CONFLUENT_NETWORK_SUBNET}"
gateway: "${CONFLUENT_NETWORK_GATEWAY}"