tonykang22 / study

0 stars 0 forks source link

[Docker & K8S] 06. 도커 컨테이너 다루기 - 네트워크 #57

Open leeyuunsung opened 2 years ago

leeyuunsung commented 2 years ago

06. 도커 컨테이너 다루기 - 네트워크

도커 네트워크 구조

image

컨테이너 포트 노출

image

root@mobius-pub:~/docker# docker run -d -p 80:80 nginx
e6bbd559c687ca196c68da0eec515afacf08c045348ab96186a06fe66265830c
root@mobius-pub:~/docker# docker ps
CONTAINER ID   IMAGE                                                         COMMAND                  CREATED         STATUS         PORTS                                                                                                                                  NAMES
e6bbd559c687   nginx                                                         "/docker-entrypoint.…"   8 seconds ago   Up 7 seconds   0.0.0.0:80->80/tcp                                                                                                                     stupefied_jones
...
root@mobius-pub:~/docker#
root@mobius-pub:~/docker# docker run -d -p 80 nginx
88b74d1b9d89af5a06fd9df7ad175e5aedf5c5e0bec94ed5de620ffa23fce178
root@mobius-pub:~/docker# docker ps
CONTAINER ID   IMAGE                                                         COMMAND                  CREATED         STATUS         PORTS                                                                                                                                  NAMES
88b74d1b9d89   nginx                                                         "/docker-entrypoint.…"   4 seconds ago   Up 2 seconds   0.0.0.0:49158->80/tcp                                                                                                                  vibrant_faraday
root@mobius-pub:~/docker# docker run -d -p 127.0.0.1:80:80 nginx
f40e42c3c646949b9f2ae8bce7b08efd7d0ff9ca7e9f327986250c1e39b25af4
root@mobius-pub:~/docker# docker ps
CONTAINER ID   IMAGE                                                         COMMAND                  CREATED          STATUS          PORTS                                                                                                                                  NAMES
f40e42c3c646   nginx                                                         "/docker-entrypoint.…"   16 seconds ago   Up 15 seconds   127.0.0.1:80->80/tcp                                                                                                                   keen_kapitsa

Expose vs Publish

image

root@mobius-pub:~/docker# docker run -d --expose 80 --name nginx-expose nginx
ee93bb97fd70f866606f9fa30f9bf9c887684e2487e9d1f3f0119219de6ce468
root@mobius-pub:~/docker# docker run -d -p 127.0.0.1:80:80 nginx
c7fc2c3346934550393f0a975a05b73ec2a649a4131860dea57810b86f27d97b
root@mobius-pub:~/docker# docker ps
CONTAINER ID   IMAGE                                                         COMMAND                  CREATED          STATUS          PORTS                                                                                                                                  NAMES
c7fc2c334693   nginx                                                         "/docker-entrypoint.…"   4 seconds ago    Up 3 seconds    127.0.0.1:80->80/tcp                                                                                                                   thirsty_poitras
ee93bb97fd70   nginx                                                         "/docker-entrypoint.…"   20 seconds ago   Up 19 seconds   80/tcp                                                                                                                                 nginx-expose

도커 네트워크 드라이버

root@mobius-pub:~/docker# docker network ls
NETWORK ID     NAME       DRIVER    SCOPE
2c584a0781ab   bridge     bridge    local
d1cff4f61142   host       host      local
d55794a341b6   minikube   bridge    local
1ac6ceea130b   none       null      local

image

image

none 네트워크

root@mobius-pub:~/docker/network# cat none.sh
#!/usr/bin/env sh

docker run -it --net none ubuntu:focal

host 네트워크

root@mobius-pub:~/docker/network# cat host.sh
#!/usr/bin/env sh

docker run -d --network=host grafana/grafana
root@mobius-pub:~/docker/network# docker ps
CONTAINER ID   IMAGE             COMMAND     CREATED         STATUS         PORTS     NAMES
92ab6b1e422e   grafana/grafana   "/run.sh"   7 seconds ago   Up 5 seconds             eloquent_thompson
root@mobius-pub:~/docker/network#
root@mobius-pub:~/docker/network# docker inspect 92a | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAddress": "",
root@mobius-pub:~/docker/network#

bridge 네트워크

root@mobius-pub:~/docker/network# cat bridge.sh
#!/usr/bin/env sh

docker network create --driver=bridge fastcampus

docker run -d --network=fastcampus --net-alias=hello nginx
docker run -d --network=fastcampus --net-alias=grafana grafana/grafana
root@mobius-pub:~/docker/network#
root@mobius-pub:~/docker/network# ./bridge.sh
0fe382f76a51a6041ab04858fd9d135c4bcf020d3612a960f678351060b9e69f
b478b2c3cd9c4f87e37b0278e35724097812c51c5d9ff785083b6e3a04ba1a8d
73744a34120fa2539e17dd4b57c17e37cea3341d2f881d5e1667cd4b53cb5cc3
root@mobius-pub:~/docker/network# docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
2c584a0781ab   bridge       bridge    local
0fe382f76a51   fastcampus   bridge    local
d1cff4f61142   host         host      local
d55794a341b6   minikube     bridge    local
1ac6ceea130b   none         null      local
root@mobius-pub:~/docker/network#
root@mobius-pub:~/docker/network# docker exec -it 737 bash
bash-5.1$ cd /tmp
bash-5.1$ wget hello
Connecting to hello (172.18.0.2:80)
saving to 'index.html'
index.html           100% |******************************************************************************|   615  0:00:00 ETA
'index.html' saved
bash-5.1$ cat index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
bash-5.1$
root@b478b2c3cd9c:/# curl grafana:3000
<a href="/login">Found</a>.

root@b478b2c3cd9c:/#
root@mobius-pub:~/docker/network# ifconfig
br-0fe382f76a51: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ...

br-d55794a341b6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ...

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ...

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8950
        ...

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        ...

veth43272a3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ...

vethad38666: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ...