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는 포트 바인딩 설정이며, 실제 트래픽을 컨테이너로 전달하는 동작이 포트 포워딩이다.
'컨테이너·워크플로우 자동화 > DocKer 기본 및 활용' 카테고리의 다른 글
| Windows + Docker Desktop + WSL2 구조 이해하기 (0) | 2026.02.17 |
|---|---|
| Docker 로그 구조 이해: json-file부터 중앙 수집 시스템까지 (0) | 2026.02.17 |
| Docker 컨테이너 통신에서 IP 대신 DNS를 사용해야 하는 이유 (0) | 2026.02.16 |
| Docker Volume 설정 방식 두 가지: Bind Mount와 Named Volume의 차이 (0) | 2026.02.16 |
| Docker 컨테이너에서 exit와 Ctrl + P + Q 차이 정리 (0) | 2026.02.16 |