(я делаю это просто для практики, чтобы знать docker.)
Мой хост P C равен ubuntu 18.04 LTS
.
И это мой файл docker-compose
(по умолчанию сетевой режим - мост).
version: "2"
services:
zookeeper1:
image: wurstmeister/zookeeper
zookeeper2:
image: wurstmeister/zookeeper
zookeeper3:
image: wurstmeister/zookeeper
В контейнере docker они могут найти друг друга.
> docker container exec -it 8b1c2b412989 ping zookeeper2
PING zookeeper2 (172.19.0.3) 56(84) bytes of data.
64 bytes from setup-zookeeper-kafka_zookeeper2_1.setup-zookeeper-kafka_default (172.19.0.3): icmp_seq=1 ttl=64 time=0.097 ms
64 bytes from setup-zookeeper-kafka_zookeeper2_1.setup-zookeeper-kafka_default (172.19.0.3): icmp_seq=2 ttl=64 time=0.129 ms
Но когда я попытался подключиться к своему хосту P C, он не работает
> ping zookeeper2
ping: zookeeper2: Name or service not known
> ping 8b1c2b412989 # container id also doesn't work
ping: 8b1c2b412989: Name or service not known
Пинг с ip
, он работает хорошо.
> ping 172.19.0.3
PING 172.19.0.3 (172.19.0.3) 56(84) bytes of data.
64 bytes from 172.19.0.3: icmp_seq=1 ttl=64 time=0.142 ms
64 bytes from 172.19.0.3: icmp_seq=2 ttl=64 time=0.046 ms
Я добавил свойство hostname
, оно все равно не работает.
version: "2"
services:
zookeeper1:
hostname: zookeeper1
image: wurstmeister/zookeeper
zookeeper2:
hostname: zookeeper2
image: wurstmeister/zookeeper
zookeeper3:
hostname: zookeeper3
image: wurstmeister/zookeeper
Как я могу получить доступ к контейнеру с именем хоста с моего хоста P C?
Теперь я могу работать только с параметрами ports
(или мне нужно написать stati c IP адрес)
Что я не так думаю?