Oh My Algorithm
Concept Guide브리지 · 포트 매핑

네트워크와 포트 (Networking)

같은 브리지 네트워크에 속한 컨테이너들은 각자 사설 IP를 받고 서비스 이름만으로 서로를 찾습니다. 하지만 이 네트워크는 호스트 바깥에서 보이지 않기 때문에, 외부에서 접근하려면 `-p 8080:80` 처럼 호스트 포트를 컨테이너 포트에 연결해 줘야 합니다. 컨테이너끼리는 이름으로, 바깥에서는 포트 매핑으로 — 이 둘을 구분하는 것이 핵심입니다.

01 개념 한눈에 보기

Interactive Step-by-Step
Docker 네트워크 · 브리지와 포트 매핑
외부 클라이언트 · 브라우저
호스트 :8080-p 8080:80 으로 열린 포트
호스트 :3000 · :5432매핑 안 함 — 외부에서 닿지 않음
포트 매핑 (NAT) · 호스트 포트 → 컨테이너 포트
GET200GET
web172.17.0.2 : 80
api172.17.0.3 : 3000
db172.17.0.4 : 5432
사용자 정의 브리지 네트워크 · 172.17.0.0/16 · 내장 DNS
api:3000db:5432api:3000db:5432
다른 네트워크의 컨테이너 — 이름으로도 닿지 않음

컨테이너 셋을 같은 브리지 네트워크에 띄웠습니다. 각자 사설 IP를 하나씩 받습니다.

Logic Node1 / 8

02 쉽게 이해하기

For Everyone
🔑비유

사무실 내선 전화와 같습니다. 같은 건물(브리지 네트워크) 안에서는 이름이나 내선번호로 바로 연결되지만, 바깥에서 걸려면 대표번호(호스트 포트)를 거쳐 내선으로 돌려줘야 합니다.

💡쉽게 말하면

Docker 는 기본 브리지 네트워크를 만들고 컨테이너마다 사설 IP를 줍니다.

사용자 정의 네트워크에서는 내장 DNS 가 컨테이너 이름을 IP로 풀어 주므로 `db:5432` 처럼 이름으로 접속합니다.

외부 트래픽은 포트 매핑(NAT)으로 호스트 포트 → 컨테이너 포트로 전달되고, 매핑하지 않은 포트는 바깥에서 닿을 수 없습니다.

서로 다른 네트워크에 있는 컨테이너는 이름으로도 통신할 수 없습니다.

📍어디에 쓰나
  • 마이크로서비스 간 통신 설정
  • 포트 충돌 해결
  • 외부 노출 범위 최소화
  • 네트워크 분리로 격리 수준 조정

03 자주 묻는 질문

FAQ
네트워크와 포트 (Networking)란 무엇인가요?+

같은 브리지 네트워크에 속한 컨테이너들은 각자 사설 IP를 받고 서비스 이름만으로 서로를 찾습니다. 하지만 이 네트워크는 호스트 바깥에서 보이지 않기 때문에, 외부에서 접근하려면 `-p 8080:80` 처럼 호스트 포트를 컨테이너 포트에 연결해 줘야 합니다. 컨테이너끼리는 이름으로, 바깥에서는 포트 매핑으로 — 이 둘을 구분하는 것이 핵심입니다.

네트워크와 포트 (Networking)은(는) 어디에 사용하나요?+

마이크로서비스 간 통신 설정, 포트 충돌 해결, 외부 노출 범위 최소화, 네트워크 분리로 격리 수준 조정

네트워크와 포트 (Networking)를 쉽게 비유하면?+

사무실 내선 전화와 같습니다. 같은 건물(브리지 네트워크) 안에서는 이름이나 내선번호로 바로 연결되지만, 바깥에서 걸려면 대표번호(호스트 포트)를 거쳐 내선으로 돌려줘야 합니다.

Guide Progress0%