컨테이너·워크플로우 자동화/DocKer 기본 및 활용

Docker에서 포트 바인딩과 포트 포워딩의 차이

Data Jun 2026. 2. 17. 10:12

Docker에서 컨테이너를 실행할 때 가장 많이 사용하는 옵션 중 하나가 -p 입니다.

docker run -p 8080:80 nginx

이 설정을 두고 흔히 “포트 포워딩”이라고 부르지만,
정확히 보면 포트 바인딩과 포트 포워딩은 구분되는 개념입니다.

 

1. 포트 바인딩이란 무엇인가

-p 8080:80 은

  • 호스트의 8080 포트
  • 컨테이너의 80 포트

연결해 두겠다는 설정(선언) 입니다.

 

즉,

8080번과 80번을 묶어두는 정적인 개념

 

아직 데이터가 흐른 것은 아닙니다.
연결 구조만 만들어 둔 상태입니다.

 

2. 포트 포워딩은 무엇이 다른가

이제 외부에서 요청이 들어옵니다.

http://localhost:8080

이 순간 Docker는 NAT 규칙을 통해

Host:8080 → Container:80

로 트래픽을 전달합니다.

 

실제 데이터 전달 동작이 포트 포워딩입니다.

 

3. 관계 정리

 

  • 포트 바인딩 → 포트를 연결해 두는 설정
  • 포트 포워딩 → 들어온 데이터를 전달하는 동작

Docker에서 -p는 포트 바인딩 설정이며, 실제 트래픽을 컨테이너로 전달하는 동작이 포트 포워딩이다.