티스토리 뷰

환경

도커 네트워크 구조

gajy 2022. 6. 8. 09:40
728x90

기본 네트워크 구조

네트워크를 따로 설정하지 않으면 기본적으로 생성되는 docker0 브릿지 네트워크를 사용하게 된다.

- docker0: veth, eth간 브릿지 역할

Docker network

# 컨테이너의 80번 포트를 호스트의 모든 IP의 80번 포트와 연결
# [HOST IP:PORT]:[CONTAINER PORT]
$ docker run -d -p 80:80 nginx
$ docker ps
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS                  PORTS                                                   NAMES
43f668703515        ghcr.io/helm/chartmuseum:v0.14.0   "/chartmuseum"           2 months ago        Up 2 months             0.0.0.0:8090->8080/tcp                                  trusting_perlman


# inspect: container 정보 상세 보기
# container id 앞 일부만 입력해도 가능하다.
# 띄워져 있는 컨테이너중 하나인 chartmuseum으로 테스트하였고, 기본 네트워크 설정을 사용하고있다.
$ docker inspect 43f6
...
 "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "d02c2213de646a8c059eff4c45ebebaf4f406676a411bf91d99fc28e72d261f8",
                    "EndpointID": "797ea4f09db5d273798d9569bacd237ea43436fe9b4350f359e27649a8423dfa",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:03",
                    "DriverOpts": null
                }
            }
...

expose vs publish

- expose: 문서화 용도로 실제 적용되지는 않는다.

- publish: 실제 포트를 바인딩한다.


- Single Host Networking: bridge, host, none

bridge: 기본 네트워크 드라이버를 사용할 수 도 있고, 직접 생성하여 사용도 가능하다.

같은 bridge

$ docker network create --driver=bridge sunnetwork
61b9a8c410873fd6844d132c5835d190c9c499d002e51cc982b96f467f625e25

$ docker network ls
NETWORK ID          NAME                  DRIVER              SCOPE
d02c2213de64        bridge                bridge              local
61b9a8c41087        sunnetwork            bridge              local

host: host 네트워크를 사용한다.

none: 네트워크 설정이 따로 필요가 없거나 custom network driver를 사용할 때 설정한다.

- Multi Host Networking: overlay

overlay: 여러 docker daemone을 함께 연결하고, swarm 서비스가 서로 연결되게 하는데 사용된다.

 

 

 

 

* 참고: fastcampus 'Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA' 강의

https://docs.docker.com/network/

728x90

'환경' 카테고리의 다른 글

도커 읽기전용 볼륨  (0) 2022.06.08
도커 볼륨  (0) 2022.06.08
Helm 기반 Kafka 설치 + NodePort 설정  (1) 2022.05.17
git commit 기록 수정 / 삭제  (0) 2022.04.13
Jenkins + Spinnaker 기반 웹 애플리케이션 배포  (0) 2022.04.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31