도커(Docker) 컨테이너 네트워크 기본 브릿지 살펴보기 (10/21)
https://www.youtube.com/watch?v=qgGaqJsNyAk&list=PL1jdJcP6uQtvfNf19anO9YJqe-B4nGuAu&index=10
본 영상을 학습한 내용입니다
https://allkillalldie.tistory.com/17 < - 해당 글과 이어집니다
1. ifconfig
ethernet들과 가상 network들을 확인할 수 있습니다
eth0 : vmware에서 보면 가상인터넷, 우리가 실습하는 공간들을 host라고 했을 때 ethernet으로 연결되어 있습니다
lo : loopback용
docker0 : bridge로 네트워크가 기본으로 설정됩니다 (보통 172.17.x.x 대역으로 가상 IP가 설정되어있습니다.)
veth~ : 물리적인것과 docker container를 연결하기 위한 목적으로 생성되어있는 것입니다
2. 현재 네트워크 확인
docker network ls
1. bridge :
docker내끼리 통신이 되고 나중에 바깥의 host와 연결하려면 -p 옵션으로 터널링을 연결하면
NAT 개념으로 터널링 됩니다
(설정을 안하면 dhcp 형태로 bridge 설정이 된다)
2. host :
같은 network 대역으로 설정됩니다
3. 컨테이너 실행 후 네트워크 정보 확인
docker run -it -d --name=nginx_net01 nginx:latest
docker run -it -d --name=nginx_net02 nginx:latest
//두 개의 컨테이너를 실행시켰습니다
docker inspect nginx_net01 | grep IPAddress
docker inspect nginx_net02 | grep IPAddress
4. 컨테이너 내부 정보
* docker container 이미지 안쪽에는 ifconfig 같은 명령어가 기본적으로 없습니다 (설치해줘야합니다)
docker exec -it nginx_net01 /bin/bash
exec : 실행
bin/bash : bash 권한을 얻어서 실행
apt update
apt install net-tools
설치 후 ifconfig가 잘 실행됩니다
(network 정보, netmask, broadcast 정보 등을 획득할 수 있습니다)