728x90
Docker Network 이해
도커 컨테이너끼리 서로 통신할 수 있게 도와주는 네트워크
- 컨테이너 네트워크 모델(CNM) : 도커에서 네트워크를 쉽고 효율적으로 구축할 수 있도록 도와주는 네트워크 모델
- 샌드박스: 컨테이너를 외부 세계로부터 완전히 분리
- 엔드포인트: 외부 세계와 샌드박스 사이의 연결점
- 네트워크: 엔드포인트에서 다른 엔드포인트로 데이터를 보내는 길
실습
# back, front 네트워크 생성
docker network create --driver=bridge back
docker network create --driver=bridge front
# 각 서비스를 생성 및 실행
docker run --name=webapi -itd --net=front ubuntu:14.04
docker run --name=catalog -itd --net=back ubuntu:14.04
docker run --name=database -itd --net=back ubuntu:14.04
# catalog 서비스는 기본 back 네트워크 뿐만 아니라 front 네트워크에도 연결
docker network connect front catalog
# webapi 의 라우팅 테이블
docker exec webapi route
# catalog 의 라우팅 테이블
docker exec catalog route
# database 의 라우팅 테이블
docker exec database route
docker network inspect front # webapi / catalog
docker network inspect back # catalog / database
docker exec -it webapi bash
# 머신 안에서
ping -c 1 catalog # 가능
ping -c 1 database # 연결 불가능
exit
#
docker exec -it catalog bash
# 머신 안에서
ping -c 1 webapi
ping -c 1 database
# 리소스 정리
docker network disconnect front catalog
docker stop webapi catalog database
docker rm webapi catalog database
docker network rm back
docker network rm front
Docker Network 종류
- 브리지 네트워크: 기본 네트워크로 Docker가 알아서 IP주소를 줌. 포트 매핑을 통해 바깥에서 컨테이너에 접근할 수 있음
- 공용 네트워크: '호스트 네트워크'로 컨테이너가 직접 우리 컴퓨터의 네트워크를 쓰게 하는 방법
- 사설 네트워크: 사용자가 직접 네트워크를 만들고 원하는 컨테이너만 연결할 수 있음
'[스파르타코딩클럽] > Docker & CICD' 카테고리의 다른 글
Docker Image 심화 (0) | 2024.03.19 |
---|---|
Docker volume (0) | 2024.03.19 |
Docker 모니터링&로깅 (0) | 2024.03.19 |
Docker Compose (1) | 2024.03.19 |
Dockerfile (0) | 2024.03.18 |