diff --git a/schema-registry/docker-compose.yml b/schema-registry/docker-compose.yml new file mode 100644 index 0000000..97113ef --- /dev/null +++ b/schema-registry/docker-compose.yml @@ -0,0 +1,60 @@ +version: "3.8" + +services: + + zookeeper: + image: confluentinc/cp-zookeeper:5.5.1 + hostname: zookeeper + ports: + - "2181:2181" + - "2888:2888" + - "3888:3888" + volumes: + - ./data/zookeeper:/var/lib/zookeeper/data + environment: + - ZOOKEEPER_CLIENT_PORT=2181 + - ZOOKEEPER_TICK_TIME=2000 + - ZOOKEEPER_SYNC_LIMIT=2 + restart: unless-stopped + + kafka: + image: confluentinc/cp-kafka:5.5.1 + hostname: kafka + ports: + - "9092:9092" + volumes: + - ./data/kafka:/var/lib/kafka/data + environment: + - KAFKA_BROKER_ID=1 + - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 + - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 + depends_on: + - zookeeper + restart: unless-stopped + + schema-registry: + image: confluentinc/cp-schema-registry:5.5.1 + hostname: schema-registry + ports: + - "8081:8081" + environment: + - SCHEMA_REGISTRY_HOST_NAME=schema-registry + - SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL=zookeeper:2181 + - SCHEMA_REGISTRY_LISTENERS=http://0.0.0.0:8081 + - SCHEMA_REGISTRY_ACCESS_CONTROL_ALLOW_METHODS=GET,POST,PUT,OPTIONS + - SCHEMA_REGISTRY_ACCESS_CONTROL_ALLOW_ORIGIN=* + depends_on: + - zookeeper + - kafka + restart: unless-stopped + + schema-registry-ui: + image: landoop/schema-registry-ui + hostname: schema-registry-ui + ports: + - "8000:8000" + environment: + - SCHEMAREGISTRY_URL=http://schema-registry:8081 + depends_on: + - schema-registry + restart: unless-stopped