면접준비

[Docker] Network 지식

K_Hyul 2024. 1. 30. 10:46
728x90
ip a
ubuntu@git:~/test$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:84:26:9d:18:4a brd ff:ff:ff:ff:ff:ff
    inet 172.31.7.184/20 metric 100 brd 172.31.15.255 scope global dynamic eth0
       valid_lft 2692sec preferred_lft 2692sec
    inet6 fe80::84:26ff:fe9d:184a/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:65:03:fa:4b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:65ff:fe03:fa4b/64 scope link
       valid_lft forever preferred_lft forever
19: veth22ce670@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
    link/ether 86:83:a1:7f:11:4d brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::8483:a1ff:fe7f:114d/64 scope link
       valid_lft forever preferred_lft forever

여기서 봤을 때 3: docker0 에서 inet 172.17.0.1/16 에서 2^16 정도의 ip를 할당할 수 있다.

 

19: veth22ce670@if18은 

docker run -it ubuntu:14.04

으로 실행한 contrainer로 docker0에 그룹된걸 볼 수 있다.

 

ubuntu@git:~/test$ docker attach e65af621e673
root@e65af621e673:/#
root@e65af621e673:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@e65af621e673:/# read escape sequence
ubuntu@git:~/test$ docker run -it --name network2 ubuntu:14.04
root@f12c0937c616:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
20: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@f12c0937c616:/# ping 172.17.0.2
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.110 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.070 ms
^C
--- 172.17.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1031ms
rtt min/avg/max/mdev = 0.070/0.090/0.110/0.020 ms
root@f12c0937c616:/#

 

서로의 네트워크로 ping을 하는 것을 볼 수 있다.

172.17.0.1, 172.17.0.2, 172.17.0.3 으로 서브넷이 설정된 것 또한 확인할 수 있다.

 

인터넷이 살아 있는지 확인 -> ping (외부의 주소를 알아야하기 때문에 곤란)

ping 8.8.8.8 구글

 

 

728x90