목차
1. Docker Network
1.1 Bridge
1.2 Host
1.3 Container
2. Docker Network 생성 및 적용
2.1 컨테이너 생성시 네트워크 부여하기
2.2 네트워크 직접 설정하여 생성
1. Docker Network
1.1 Bridge
- docker의 기본 network 방식은 bridge이다.
- 컨테이너를 생성하게 되면, 각 컨테이너 마다 고유한 namespace 영역이 하나씩 생성되먀, 이때 docker0 bridge container의 인터페이스들이 하나씩 바인딩 된다.
1.2 Host
- host 방식으로 컨테이너를 생성하면, 컨테이너가 독립적인 네트워크 영역을 갖지 않고 host와 네트워크를 함께 사용하게 된다.
--net=host 옵션을 사용한다.
1.3 Container
- container는 기존에 있는 다른 컨테이너의 network 환경을 공유하게 된다.
--net=container:[컨테이너ID] 옵션을 사용한다.
2. Docker Network 생성 및 적용
- Network 생성시 아무런 옵션을 주지 않으면 기본적으로 bridge를 사용한다.
- 방화멱 설정을 하지 않아도 알아서 설정이 되어 있다.
- test1이라는 network를 생성한다.
- 별도의 옵션을 주지 않으면 birdge를 사용한 네트워크를 생성한다.
- test1 네트워크 정보를 살펴보게 되면 driver 정보는 bridge로 되어있고, subnet 및 gateway도 마찬가지로 자동으로 구성되는 것을 볼 수 있다.
2.1 컨테이너 생성시 네트워크 부여하기
- 현재 network test1, test2가 생성되어 있다.
- test1 네트워크를 부여한 c2 컨테이너의 네트워크 정보를 살펴보게 되면 test1의 네트워크 대역에 DHCP를 통한 자동으로 IP가 부여된다.
- test2 네트워크를 부여한 c3 컨테이너의 네트워크 정보를 살펴보게 되면 test1의 네트워크 대역에 DHCP를 통한 자동으로 IP가 부여된다.
- c2 컨테이너에 진입하여 net-tools 패키지를 설치한 다음 ifconfig 명령어를 해당 컨테이너의 네트워크 카드 및 네트워크의 자세한 정보들을 확인 할 수 있다.
2.2 네트워크 직접 설정하여 생성
- docker에서 network 생성시 해당 대역 및 gateway를 지정하여 생성할 수 있다.
- network를 직접 생성할 수 있다.
- subnet, gateway를 직접 지정할 수 있고 새롭게 만들어지는 네트워크는 별칭을 붙여 생성한다.
- 새롭게 지정하여 생성한 n1 네트워크 정보를 보게되면 위에서 설정한 정보들이 담겨있는 것을 볼 수 있다.
- 새롭게 생성한 n1 network를 지정하여 컨테이너를 생성한다.
- 해당 컨테이너의 gateway는 192.168.100.254로 n1 네트워크 생성시 지정된 gateway가 지정된 것을 볼 수 있다.
- IP Address는 192.168.100.0/24 대역에 DHCP를 통해 순차적으로 IP Address가 부여된다.
'Programming > Docker' 카테고리의 다른 글
Docker - Scripts (0) | 2022.05.31 |
---|---|
Docker - HAProxy, Network, Port Forwarding (0) | 2022.05.30 |
Docker - Copy, Volume (0) | 2022.05.30 |
Docker - 프로세스 동작 과정 (cat, cp, signal, /etc/hosts, exec, attach) (0) | 2022.05.27 |
Docker - 프로세스, 쉘, 데몬, 포그라운드, 백그라운드 (kill 명령어) (0) | 2022.05.26 |