Docker 기본 브릿지 네트워크 특징
Docker의 기본 브릿지 네트워크 (bridge) 는 컨테이너 간 DNS 이름 해석 기능을 제공하지 않는다는 특징이 있다.
즉, 컨테이너끼리 IP 주소로만 통신해야 하고, 컨테이너 이름을 사용할 수 없다.
💡 그 이유는 기본 브릿지 네트워크가 Docker의 "기본 네트워크" 역할을 하기 때문다.
기본 네트워크는 단순하고 최소한의 기능만 제공하도록 설계되어 있다.
DNS가 뭐지?
DNS는 도메인 이름을 IP 주소로 변환하는 시스템이다.
예를 들어, 우리가 브라우저에서 google.com을 입력하면,
- google.com을 DNS 서버에 요청
- DNS 서버가 142.250.74.46 같은 IP 주소를 반환
- 브라우저가 해당 IP로 접속
즉, 사람이 이해하기 쉬운 이름 (google.com) 을 사용해서 실제 IP 주소를 찾아주는 역할을 하는 게 DNS이다.
기본 브릿지 네트워크가 DNS를 제공하지 않는 이유
1️⃣ 컨테이너 간 격리 유지
- 기본 브릿지 네트워크에서는 컨테이너 간의 자동 네트워크 연결을 최소화하도록 설계되었다.
- 보안과 격리를 위해, 컨테이너가 서로의 IP를 직접 알아야만 통신할 수 있도록 제한되어 있다.
- 만약 모든 컨테이너가 기본 네트워크에서 DNS를 통해 자동으로 연결된다면, 불필요한 통신이 발생할 수 있다.
2️⃣ 기본 네트워크는 "임시적인 네트워크"
- Docker는 기본 bridge 네트워크를 개발 및 테스트 용도로 제공한다.
- 이 네트워크는 컨테이너가 빠르게 실행되었다가 사라지는 환경을 위해 설계되었다.
- DNS 기능을 추가하면, Docker 내부에서 추가적인 관리가 필요하고 오버헤드가 생길 수 있다.
- 따라서 최소한의 기능만 제공하고, DNS가 필요한 경우에는 사용자가 직접 "사용자 정의 네트워크"를 만들도록 유도한다.
3️⃣ DNS 기능은 사용자 정의 네트워크에서 제공됨
- Docker는 더 강력한 기능을 원한다면 사용자 정의 네트워크를 사용하도록 설계했다,.
- docker network create <생성할 네트워크 이름> 로 만든 네트워크는 내장 DNS 기능이 자동으로 활성화된다.
- 이렇게 하면 기본 네트워크는 단순성을 유지하고, 사용자 정의 네트워크는 더 강력한 기능을 제공하는 방식으로 역할을 분리할 수 있다.
4️⃣ Docker의 철학: "기본 설정은 간단하게, 필요하면 확장 가능하게"
- Docker는 기본값(Default)은 가볍고 단순하게, 추가 기능이 필요하면 직접 설정할 수 있도록 하는 철학을 따른다.
- 기본 bridge 네트워크는 최소한의 기능만 제공하고, DNS 같은 추가 기능은 "사용자 정의 네트워크"에서 지원하는 방식으로 설계되었다.
요약
| 이유 | 설명 |
| 🔒 컨테이너 간 격리 유지 | 기본 네트워크는 컨테이너 간 통신을 최소화하고 보안을 유지하기 위해 DNS를 제공하지 않음 |
| 🚀 임시 네트워크라서 | 개발 및 테스트 용도로 사용되며, 자동 네트워크 관리를 최소화하기 위해 DNS 미지원 |
| 🛠 DNS 기능은 사용자 정의 네트워크에서 제공 | 필요하면 docker network create 명령어로 네트워크를 만들면 DNS 기능을 사용할 수 있음 |
| 📏 Docker의 철학: 기본 설정은 가볍게 | 기본 기능은 단순하게 유지하고, 필요한 기능은 사용자가 직접 확장하도록 설계됨 |
💡 기본 bridge 네트워크는 단순성을 유지하기 위해 DNS를 제공하지 않고, 더 강력한 기능이 필요한 경우 사용자 정의 네트워크를 사용하라는 Docker의 설계 철학 때문이다! 🚀
출처
OpenAI의 ChatGPT (https://openai.com)
'Stack > Docker' 카테고리의 다른 글
| [Docker] Docker Compose 란? (업데이트 중..) (0) | 2025.10.22 |
|---|---|
| 바인드 마운트(Bind Mount) vs 볼륨 마운트(Volume Mount) (0) | 2025.04.03 |
| 웹서버(Web Server)란? (1) | 2025.04.02 |
| 도커(Docker) 볼륨(Volume) (0) | 2025.04.01 |
| 도커(Docker)를 사용하는 이유 (0) | 2025.03.31 |