jissue
SSUE's IT World
jissue
전체 방문자
오늘
어제
  • 분류 전체보기 (88)
    • CS (4)
    • 자료구조 (5)
    • 알고리즘 (30)
      • 백준 (28)
      • 프로그래머스 (2)
    • JAVA (0)
    • Spring Boot (0)
    • 가상화 (35)
      • VMware (23)
      • Docker (12)
    • sw 사관학교 정글 (13)
      • TIL (12)
    • 기타 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
jissue

SSUE's IT World

가상화/Docker

[Docker] Docker Network

2023. 3. 24. 09:16
  • 관리
  • 글쓰기
  • 로그인
  • 로그아웃

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
    '가상화/Docker' 카테고리의 다른 글
    • [Docker] Dockerfile
    • [Docker] Docker Network 실습
    • [Docker] Docker hub
    • [Docker] Docker container & image 응용
    jissue
    jissue

    티스토리툴바