
호스트(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 172.17.0.1 80
Trying 172.17.0.1...
Connected to 172.17.0.1.
Escape character is '^]'.
괜찮아!
하지만 가상 머신에서는 텔넷으로 연결할 수 없습니다.
$ telnet 172.17.0.1 80
Trying 172.17.0.1...
telnet: Unable to connect to remote host: Connection timed out
내 가상 머신에서 Docker 컨테이너를 ping할 수 있습니다.
$ 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 컨테이너에서 내 서비스에 텔넷으로 연결하는 방법은 무엇입니까?