docker network ?
도커 내에서 외부와 통신을 위해 존재하는 네트워크. 상황에 따라서 네트워크 추가 및 변경이 가능
- 사전 작업
도커 내 이미지와 컨테이너를 모두 삭제 후 시작

- 도커 네트워크 목록

- NAME : 네트워크의 이름
- DRIVER : 도커 네트워크의 연결 방식 정의
· bridge : 브릿지 방식으로 연결
[Bridge]
네트워크 이름이 bridge인 네트워크 상세 내용 보기
sudo docker network inspect bridge


bridge로 연결 되어 있는 컨테이너
- nginx 이미지 파일 다운
sudo docker image pull nginx sudo docker image ls

- 컨테이너 실행 및 확인
sudo docker container run -it --name web_01 -d nginx /bin/bash //컨테이너 실행
sudo docker container run -it --name web_02 -d nginx /bin/bash sudo docker container ps -a // 컨테이너 목록

현재 도커 내 네트워크 연결 상태

※ 가상의 라우터에 의해서 외부 공인 ip주소와 연결되었지만 매치되는 포트 옵션(-p 80:80)을 설정 해 주지 않아 외부와 통신 불가 (외부 통신을 하려면 포트 옵션 추가 후 가능)
web_01 컨테이너 네트워크 연결 해제
sudo docker network disconnect bridge web_01 //bridge에서 연결 해제
sudo docker netwrok inspect bridge // 네트워크 명 bridge 상세 정보 확인


web_01이 bridge 네트워크에서 연결 삭제 됨
※ 주의) drive로서의 bridge와 name으로서의 bridge는 다름
- 네트워크 변경 사항 확인
web_01이 bridge에서 연결 해제 되면서 네트워크 구성에 변경 발생
ifconfig sudo docker container inspect web_01 // 컨테이너 web_01 상세 내용 확인


과거 veth79aae89(web_02), veth8a77d85(web_01)이 출력되었던 것과 다르게 veth79aae89(web_02)만 출력 됨
+) veth~ : 컨테이너를 네트워크 연결 시 생성되는 인터페이스
- bridge 연결이 해제된 web_01 확인
sudo docker container inspect web_01 // web_01 컨테이너 상세 정보 확인


연결 해제로 web_01 컨테이너의 ip주소가 설정 x
web_01 새로운 bridge 네트워크와 연결
- Drive가 bridge인 web-network 명의 network 생성
sudo docker network create --drive=bridge web-network // drive가 bridge인 web-network 명의 network 생성
sudo docker network inspect web-network // web-network의 상세 정보 확인 ifconfig



새로운 이름의 인터페이스 생성(docker0과 유사)
- web_01 컨테이너를 새로 생성한 web-network에 연결
sudo docker network connect web-network web_01 //web-network 네트워크에 web_01연결
sudo docker container inspect web_01 // web_01 상세 정보 확인


web-network와 연결하였더니 web_01에 web-network의 ip주소가 생김( IP자동할당하는 DHCP 와 유사)

web_01 연결로 vethcdb646e(web_01)의 인터페이스가 새로 생김
∴ 컨테이너의 실행으로 veth~ 명으로 이루어진 인터페이스가 새로 생기며 network 추가 시 가상의 라우터와 연결된 인터페이스 생성된다.
'가상화 > Docker' 카테고리의 다른 글
[Docker] Dockerfile (0) | 2023.03.24 |
---|---|
[Docker] Docker Network 실습 (0) | 2023.03.24 |
[Docker] Docker hub (0) | 2023.03.24 |
[Docker] Docker container & image 응용 (0) | 2023.03.24 |
[Docker] Docker container (0) | 2023.03.24 |