version: '3' services: zoo1: image: zookeeper:3.4.9 hostname: zoo1 ports: - "2181:2181" networks: - kafka_net environment: ZOO_MY_ID: 1 ZOO_PORT: 2181 ZOO_SERVERS: server.1=zoo1:2888:3888 volumes: - ./zk-single-kafka-single/zoo1/data:/data - ./zk-single-kafka-single/zoo1/datalog:/datalog kafka1: image: confluentinc/cp-kafka:5.5.1 hostname: kafka1 ports: - "29092:29092" environment: KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_CREATE_TOPICS: create-phone:2:1 KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181" KAFKA_BROKER_ID: 1 KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO" KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 volumes: - ./zk-single-kafka-single/kafka1/data:/var/lib/kafka/data depends_on: - zoo1 networks: - kafka_net healthcheck: test: [ "CMD", "nc", "-vz", "localhost", "9092" ] interval: 30s timeout: 10s retries: 3 demo-command: build: context: . dockerfile: Dockerfile image: demo-command hostname: demo-command ports: - "8081:8081" depends_on: kafka1: condition: service_healthy networks: - kafka_net demo-query-1: build: context: . dockerfile: Dockerfile image: demo-query hostname: demo-query-1 ports: - "8082:8082" depends_on: kafka1: condition: service_healthy networks: - kafka_net # demo-query-2: # build: # context: demo-query # dockerfile: Dockerfile # image: demo-query # hostname: demo-query-2 # ports: # - "8083:8082" # depends_on: # kafka1: # condition: service_healthy # networks: # - kafka_net networks: kafka_net: driver: bridge