代码之家  ›  专栏  ›  技术社区  ›  Nyxynyx

了解docker-compose.yml中容器的主机名

  •  0
  • Nyxynyx  · 技术社区  · 7 年前

    我试着去理解 docker-compose.yml (也显示在这篇文章的底部)。

    问题: confluent:2181 使用以下行

    KAFKA_ZOOKEEPER_CONNECT: "confluent:2181"
    

    这是怎么回事 confluent 主机名定义?如果我正确理解Docker中的主机名,那么唯一的容器主机名是 zookeeper , kafka 我是说, rest-proxy schema-registry .

    docker-compose.yml文件

    version: "2"
    services:
        zookeeper:
            image: confluent/zookeeper
            ports:
            - "2181:2181"
            environment:
            zk_id: "1"
            network_mode: "host"
        kafka:
            image: confluent/kafka
            depends_on:
            - zookeeper
            ports:
            - "9092:9092"
            environment:
            KAFKA_ZOOKEEPER_CONNECT: "confluent:2181"
            network_mode: "host"
        rest-proxy:
            image: confluent/rest-proxy
            depends_on:
            - zookeeper
            - kafka
            - schema-registry
            ports:
            - "8082:8082"
            environment:
            RP_ZOOKEEPER_CONNECT: "confluent:2181"
            RP_SCHEMA_REGISTRY_URL: "http://confluent:8081"
            network_mode: "host"
        schema-registry:
            image: confluent/schema-registry
            depends_on:
            - kafka
            - zookeeper
            ports:
            - "8081:8081"
            environment:
            SR_KAFKASTORE_CONNECTION_URL: "confluent:2181"
            network_mode: "host"
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   gasc    7 年前

    你说得对根据 docker-compose.yml 正在定义的服务将仅为 zookeeper , kafka 我是说, rest-proxy schema-registry ,而不是 confluent .

    但是如果你 take a look at the documenttion from confluentinc 它们要求您修改主机中的主机文件:

    编辑你的主机文件并为docker机器添加一个主机条目。

    192.168.99.100汇合

    所以你可以用 合流的 并获得名称解析这和Docker和作文没有关系。

    注意,你在使用不推荐的图片 according to their documentation

        2
  •  1
  •   John    7 年前

    是的,你说得对。

    根据 README ,你应该先汇合。