본문 바로가기
[스파르타코딩클럽]/Docker & CICD

Docker Network

by 진진리 2024. 3. 19.
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 종류

  1. 브리지 네트워크: 기본 네트워크로 Docker가 알아서 IP주소를 줌. 포트 매핑을 통해 바깥에서 컨테이너에 접근할 수 있음
  2. 공용 네트워크: '호스트 네트워크'로 컨테이너가 직접 우리 컴퓨터의 네트워크를 쓰게 하는 방법
  3. 사설 네트워크: 사용자가 직접 네트워크를 만들고 원하는 컨테이너만 연결할 수 있음

 

'[스파르타코딩클럽] > 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