
У меня есть хост (Ubuntu), контейнер docker (centOS), виртуальная машина (centOS).
- У моего хоста 2 интерфейса, один - eth0 "192.168.0.4", один - docker0 "172.17.42.1"
. - У моего контейнера docker есть IP "172.17.0.1". У него есть привязка сервиса к порту 80.
- На виртуальной машине я использую адаптер моста с docker0 и настраиваю файл "/etc/sysconfig/network-scripts/ifcfg-eth0" следующим образом:
DEVICE="eth0"
ONBOOT=yes
HWADDR=08:00:27:72:40:6B
TYPE=Ethernet
BOOTPROTO=static
IPADDR=172.17.0.250
NETMASK=255.255.0.0
С хоста я подключаюсь по telnet к сервису контейнера
$ telnet 172.17.0.1 80
Trying 172.17.0.1...
Connected to 172.17.0.1.
Escape character is '^]'.
Все в порядке!
НО из виртуальной машины я не могу подключиться к ней по telnet
$ telnet 172.17.0.1 80
Trying 172.17.0.1...
telnet: Unable to connect to remote host: Connection timed out
С моей виртуальной машины я могу пинговать Docker-контейнер
$ ping 172.17.0.1
PING 172.17.0.1 (172.17.0.1) 56(84) bytes of data.
64 bytes from 172.17.0.1: icmp_seq=1 ttl=64 time=0.091 ms
Итак, как подключиться по telnet к моей службе в Docker-контейнере?