Cloud/Docker
Docker) Docker Network 실습해보기
Adım Kim
2022. 10. 6. 00:56
실습 환경 : AWS console (2022/10), Visual Studio Code
실습 목적 : Docker Network의 명령어와 bridge, host, none network을 실습해본다.
Docker Network 명령어
1. Docker Network 목록 (ls)docker network ls
2. Docker Network 생성 (create)
- -d 옵션을 지정하지 않으면 default 상태인 bridge network로 설정된다.docker network create -d bridge my-net docker network create my-net2
3. Docker Network 삭제 (rm)docker network rm my-net my-net2
4. Docker Network 상세정보 (inspect)docker network inspect bridge
- pipe grep 로 container에 할당된 IP Address를 확인할 수 있다.
docker inspect server | grep IPAddress docker inspect server2 | grep IPAddress
- exec 명령으로 container에서 IP Address를 확인할 수 있다.
docker exec server ifconfig eth0
5. bridge network 조회 명령
- 명령 사용을 위한 패키지 설치sudo apt install bridge-utils
- bridge network 조회
brctl show
- 기본 docker 제공 network를 사용하지 않고 직접 생성하여 적용한 경우
다른 게이트웨이 구성을 갖게된다.- 기본 제공 network 게이트웨이와 새로생성한 network 게이트웨이는 서로 다르다.
Bridge Network로 container 생성해보기
1. container 생성
docker run -d -p 80:80 --name webserver nginx
2. bridge network가 외부로 연결 가능한지 확인
sudo netstat -nlp | grep 80
- host IP와 포트번호는 bridge network로 연결된 container의 IP와 포트번호로 변환하여
외부망으로 보낸다.
- 이때 사용되는 서비스가 NAPT (Network Address Port Translation) 다.ps -ef | grep <PID> | grep -v grep
Host Network로 container 생성해보기
1. container 생성 (--net host 옵션 추가)docker run -d --net host --name webserver2 nginx
2. 포트 포워딩을 하지 않아도 외부접속이 가능하다.
None network로 container 생성해보기
container에 -p 옵션을 사용해도 --net none 옵션을 사용하면 포트포워딩이 적용되지 않는다.docker run -d --net none -p 80:80 --name webserver2 nginx