[英]Understanding Hostname of Containers in docker-compose.yml
我正在嘗試了解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"
你是對的。 根據docker-compose.yml
,定義的服務將僅為zookeeper
, kafka
, rest-proxy
和schema-registry
提供DNS解析,而不會confluent
。
但是,如果您查看confluentinc的文檔,它們會要求您修改主機中的主機文件:
編輯您的主機文件並為Docker計算機添加主機條目。
192.168.99.100匯合
這就是為什么您可以使用confluent
並獲得名稱解析的原因。 它與docker或compose無關。
PS:請注意, 根據其文檔 ,您正在使用不推薦使用的圖像
是的,你是對的。
根據自述文件 ,您應該首先運行融合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.