kafka docker
### =================== ### ZOOKEEPER SERVICE ### =================== zookeeper: image: confluentinc/cp-zookeeper:latest restart: always healthcheck: interval: 120ms retries: 5 start_period: 60ms test: | touch /tmp/healthcheck.txt && mkdir /tmp/healthcheck && mv /tmp/healthcheck.txt /tmp/healthcheck && cd /tmp/healthcheck && echo "hello my docker container is working fine" >> healthcheck.txt && cat healthcheck.txt && rm healthcheck.txt && cd .. && rmdir /tmp/healthcheck cls timeout: 30ms environment: - ZOOKEEPER_SERVER_ID=1 - ZOOKEEPER_CLIENT_PORT=2181 - ZOOKEEPER_TICK_TIMES=2000 - ZOOKEEPER_SYNC_LIMIT=2 ports: - 2181:2181 volumes: - zk-data:/var/lib/zookeper/data networks: - restapi_network ### ==================== ### KAFKA SERVICE ### ==================== kafka: image: confluentinc/cp-kafka:latest restart: always healthcheck: interval: 120ms retries: 5 start_period: 60ms test: | touch /tmp/healthcheck.txt && mkdir /tmp/healthcheck && mv /tmp/healthcheck.txt /tmp/healthcheck && cd /tmp/healthcheck && echo "hello my docker container is working fine" >> healthcheck.txt && cat healthcheck.txt && rm healthcheck.txt && cd .. && rmdir /tmp/healthcheck cls timeout: 30ms environment: - KAFKA_BROKER_ID=1 - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS=LISTENER_DOCKER_INTERNAL://kafka:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT - KAFKA_INTER_BROKER_LISTENER_NAME=LISTENER_DOCKER_INTERNAL - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 ports: - 9092:9092 volumes: - kf-data:/var/lib/kafka/data networks: - restapi_network depends_on: - zookeeper ### ======================== ### VOLUMES PERSISTENT DATA ### ======================== volumes: zk-data: kf-data: ### =================================== ### NETWORKS GROUP FOR ONE SAME SERVICE ### =================================== networks: restapi_network: