
Ich habe einen Host (Ubuntu), einen Docker-Container (CentOS), eine virtuelle Maschine (CentOS).
– Mein Host hat 2 Schnittstellen, eine ist eth0 „192.168.0.4“, eine ist Docker0 „172.17.42.1“
– Mein Docker-Container hat die IP „172.17.0.1“. Er hat eine Servicebindung an Port 80.
– Auf der virtuellen Maschine verwende ich einen Bridge-Adapter mit Docker0 und konfiguriere die Datei „/etc/sysconfig/network-scripts/ifcfg-eth0“ wie folgt:
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
Vom Host aus stelle ich per Telnet eine Verbindung zum Dienst des Containers her.
$ telnet 172.17.0.1 80
Trying 172.17.0.1...
Connected to 172.17.0.1.
Escape character is '^]'.
Es ist okay!
ABER, von der virtuellen Maschine aus kann ich nicht per Telnet darauf zugreifen
$ telnet 172.17.0.1 80
Trying 172.17.0.1...
telnet: Unable to connect to remote host: Connection timed out
Von meiner virtuellen Maschine aus kann ich den Docker-Container anpingen
$ 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
Also, wie kann ich per Telnet auf meinen Dienst im Docker-Container zugreifen?