일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JPA
- ANTIFRAGILE
- 명령어
- JPQL
- spring
- macvlan
- Python
- 오블완
- codeium
- 도커이미지
- 11월순위
- docker
- docker build
- docker push
- 애널리틱스4
- 르세라핌
- gtihub
- 자바
- git pat
- pat발급
- db종류
- 티스토리챌린지
- git branch 삭제
- analytics4
- IntelliJ
- DBMS
- java
- 데이터내보내기
- 컬렉션프레임워크
- Today
- Total
hanker
Docker - Docker Network 란? 본문
Docker Network는 Docker 컨테이너들 간의 통신을 가능하게 하는 가상 네트워크이다.
이를 통해 컨테이너들이 서로 데이터를 주고받을 수 있으며, 외부 네트워크와의 통신도 가능하다.
Docker는 기본적으로 컨테이너를 격리된 상태에서 실행하는데, 네트워크를 구성하여 컨테이너들 간에 필요한 연결을 설정할 수 있다.
Docker Network의 주요 개념
1. Bridge Network
- Docker에서 기본적으로 제공하는 네트워크 유형이다.
- 동일한 호스트에 있는 컨테이너들끼리 격리된 네트워크 환경을 제공하며, 기본적으로 docker run 명령어로 컨테이너를 생성하면 bridge 네트워크에 연결된다.
- 컨테이너 간 통신이 필요한 상황에서 주로 사용된다.
2. Host Network
- 컨테이너가 호스트의 네트워크 스택을 직접 사용한다.
- 컨테이너는 별도의 가상 네트워크 인터페이스를 가지지 않으며, 대신 호스트의 네트워크와 동일한 환경에서 동작한다.
- 성능적인 이점이 있지만 보안적인 측면에서 격리 수준이 낮아질 수 있다.
3. Overlay Network:
- Docker Swarm이나 Kubernetes 같은 오케스트레이션 툴에서 여러 호스트 간의 컨테이너 네트워킹을 지원하기 위해 사용된다.
- 멀티 호스트 환경에서 컨테이너 간 통신을 가능하게 해준다.
- VPN과 같은 개념으로 여러 네트워크 상에서 통신이 가능하도록 한다.
4. None Network:
- 컨테이너에 네트워크 인터페이스를 연결하지 않는다.
- 이 모드를 사용하면 컨테이너는 네트워크 기능 없이 동작하게 된다.
5. Custom Network:
- 사용자 정의 네트워크를 생성하여 컨테이너가 서로 간에 쉽게 통신할 수 있도록 설정할 수 있다.
- 사용자 정의 네트워크를 사용하면 DNS를 통해 컨테이너 이름으로 직접 통신할 수 있어 좀 더 관리하기 용이하다.
Docker Network의 종류
1. Bridge Network
- 동일한 호스트 내에서 컨테이너 간 통신을 가능하게 하며, 주로 단일 호스트에서의 애플리케이션 실행에 적합하다.
2. Host Network
- 컨테이너가 호스트와 동일한 네트워크를 사용하여, 네트워크 성능 최적화가 필요한 경우 사용된다.
3.Overlay Network
- 멀티 호스트 환경에서 사용되며, 여러 Docker 데몬이 클러스터 내에서 컨테이너 간 통신을 지원한다. 주로 Docker Swarm 또는 Kubernetes에서 사용된다.
4. Macvlan Network
- 컨테이너에 실제 물리적 네트워크 인터페이스처럼 동작하는 IP를 할당한다.
- 컨테이너가 물리적 네트워크의 일부처럼 동작해야 할 때 사용되며, 일반적으로 기존 네트워크에 직접 연결이 필요할 때 사용된다.
5. None Network
- 컨테이너에 네트워크 인터페이스를 연결하지 않으며, 네트워크가 필요 없는 작업을 수행할 때 사용된다.
Docker Network의 주요 명령어 정리
명령어 | 설명 |
docker network ls | 네트워크 조회 |
docker network inspect [네트워크 명] | 특정 네트워크 상세조회 |
docker network create [네트워크 명] | 네트워크 생성 |
docker network connect [네트워크 명] [컨테이너 명] | 특정 네트워크에 컨테이너를 연결 |
docker network disconnect [네트워크 명] [컨테이너 명] | 특정 네트워크에서 컨테이너를 분리 |
docker network rm [네트워크 명] | 네트워크 삭제 |
각 명령어의 실행결과를 알아보자
Docker Network의 장점
- 컨테이너 간 통신: 컨테이너 간의 데이터 통신이 쉽고 편리하게 이루어지도록 지원한다.
- 보안: 네트워크를 분리하여 컨테이너의 보안 수준을 높일 수 있다.
- 유연성: 필요에 따라 네트워크 구성을 커스터마이징하여 컨테이너 간의 관계를 유연하게 정의할 수 있다.
Docker Network는 컨테이너를 효과적으로 격리하고 관리하며, 필요한 경우 컨테이너 간의 통신을 지원하는 핵심 요소이다.
다양한 네트워크 드라이버를 통해 애플리케이션의 구조와 요구사항에 맞는 네트워크 구성을 구현할 수 있다.
'SERVER > DOCKER' 카테고리의 다른 글
Docker - Docker 이미지 만들어서 Docker Hub에 도커 이미지 배포하기 (0) | 2024.11.29 |
---|---|
Docker 용어 정리: Docker Image 란 무엇일까? (0) | 2024.11.26 |
Docker - 기본 명령어 정리 (0) | 2024.11.24 |
Docker - Mongo DB 설치 (0) | 2024.11.22 |
Docker 용어 정리: Container 란 무엇일까? (0) | 2024.11.20 |