У меня есть хост (Ubuntu), контейнер докеров (CentOS), виртуальная машина (CentOS).
- Мой хост имеет 2 интерфейса, один - eth0 «192.168.0.4», второй - docker0 «172.17.42.1».
- Мой док-контейнер имеет 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
Итак, как подключиться к моей службе в контейнере Docker по telnet?