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 명령어를 통해 호스트 등록
'Container' 카테고리의 다른 글
Dockerfile 생성 (0) | 2023.05.19 |
---|---|
Docker Wordpress + MySQL 연결 (0) | 2023.05.18 |
Docker MySQL 설치 및 실행 (0) | 2023.05.17 |
Docker Volume 명령어(볼륨mount, 디렉토리 방식) 및 실습 (0) | 2023.05.17 |
Docker import, export, scp 명령어 실습 (0) | 2023.05.17 |