title: docker-compose kafka wait for zookeeper and schema-registry wait for kafka
body: <p>I read <a href="https://stackoverflow.com/questions/42358169/docker-compose-client-connects-to-kafka-too-early">Docker (Compose) client connects to Kafka too early</a>, but it doesn't give which command to check.</p>
  <p>How should I configure my kafka broker so it retries when zookeeper is not ready? and my schema-registry also fails due to kafka broker is not ready.</p>
  <p>my docker-compose file:</p>
  <pre><code>  zookeeper:
      image: confluentinc/cp-zookeeper:5.5.3
      hostname: zookeeper
      container_name: zookeeper
      ports:
        - &quot;2181:2181&quot;
      environment:
        ZOOKEEPER_CLIENT_PORT: 2181
        ZOOKEEPER_TICK_TIME: 2000
  
    broker:
      image: confluentinc/cp-server:5.5.3
      hostname: broker
      container_name: broker
      depends_on:
        - zookeeper
      ports:
        - &quot;9092:9092&quot;
      environment:
        KAFKA_BROKER_ID: 1
        KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
        KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
        KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
        KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
        KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
        KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 1
        CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:29092
        CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: zookeeper:2181
        CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
        CONFLUENT_METRICS_ENABLE: 'true'
        CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
  
    schema-registry:
      image: confluentinc/cp-schema-registry:5.5.3
      hostname: schema-registry
      container_name: schema-registry
      depends_on:
        - zookeeper
        - broker
      ports:
        - &quot;8081:8081&quot;
      environment:
        SCHEMA_REGISTRY_HOST_NAME: schema-registry
        SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
  </code></pre>