본문 바로가기
Container

Docker Network 명령어

by Royal! 2023. 5. 18.
728x90
반응형

Docker 0이란 ?

  • Docker가 설치된 host에 생성되는 NIC
  • Host에 Container가 존재한다면 docker0의 interface에 vethxxxx가 Container 개수만큼 존재합니다.

도커 Network는 Brige, Host, None 3가지가 존재합니다.

 

Brige

  • 네트워크 생성 시 별도로 지정하지 않으면 기본값으로 생성되는 네트워크입니다.
  • Brige는 무한정 생성 가능합니다.
  • 동일한 Port를 사용할 수 있습니다.

 

 

Host

  • 쿠버네티스의 Pod개념에서 많이 쓰입니다.
  • Host는 1개만 생성됩니다.
  • 외부에 노출되는 IP입니다.
  • 동일한 Port를 사용할 수 없습니다.

Host로 네트워크 설정 시 (docker run -itd --net host -e MYSQL_ROOT_PASSWORD=toor --name mm1 mysql:5.7) 네트워크 주소가 비워져 있습니다.

Host는 해당 서버의 IP를 사용하기 때문입니다. 저는 10.0.0.1로 설정해서 브라우저에 10.0.0.1을 치고 들어가면 페이지가 출력됩니다. 다만 방화벽에서 걸릴 수 있어서 방화벽을 해제 해줘야 합니다.

(firewall-cmd --add-port=3306/tcp)

 

결과 


 

Network  명령어 모음

 

Network 생성 명령어

docker network create --subnet 192.168.0.0/24 --gateway 192.168.0.254 DD

## 서브넷, 게이트웨어, DD는 네트워크 이름

 

컨테이너 네트워크 변경하여 생성

docker run -itd --net DD --name c10 alpine

## --net [Network NAME] 입력해서 해당 네트워크 대역 사용

 

현재 사용중인 네트워크 추가(변경)

docker network connect [Network NAME] [Container NAME]

 

 

네트워크 해제

docker network disconnect  [Network NAME] [Container NAME] 

 

 

컨테이너 특정 IP로 매핑

docker run -itd --ip 192.168.0.2 --name c2 alpine

## --ip를 통해서 특정 IP로 매핑

 

 

네트워크 Brige 삭제

docker network rm DD

## DD는 Network NAME

 

 

링크연결

docker run -itd --name a2 --link a1 alpine

## a2생성 후 a1에 링크를 걸어 놓는 것

##컨테이너 IP를 동적으로 받아오기 때문에 항상 동일한 IP를 사용한다는 보장 없습니다.

 

/etc/hosts 파일 설정

docker run -itd --add-host=a1:172.17.0.2 --add-host=a2:172.17.0.3 --add-host=a3:172.17.0.4 --name a10 alpine

## --add-host 명령어를 통해 호스트 등록 

728x90
반응형

최근댓글

최근글

Royal! © 2024