Понимание имени хоста контейнеров в docker-compose.yml - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь понять 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 ]

0 голосов
/ 02 декабря 2018

Да, вы правы.

В соответствии с README , вы должны были сначала запустить слияние.

0 голосов
/ 02 декабря 2018

Ты прав.Согласно docker-compose.yml определяемые службы будут предоставлять разрешение DNS только для zookeeper, kafka, rest-proxy и schema-registry, а не confluent.

Однако, если вы взгляните на документацию от confluentinc , которая требует, чтобы вы изменили файл hosts на вашем хост-компьютере:

Отредактируйте файл hosts и добавьте запись хоста для докера.

192.168.99.100 слияния

Вот почему вы можете использовать confluent и получить разрешение имен.Это не имеет никакого отношения к докеру или созданию.

PS: Остерегайтесь того, что вы используете устаревшие изображения в соответствии с их документацией

...