• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

docker -p 옵션 질문입니다.

22.08.01 22:45 작성 조회수 175

0

외부에 노출되는 포트와 별개로 내부적으로 특정 포트를 사용할 때에는 포트 포워딩을 직접 해주는 것으로 알고 있습니다.

그런데 -p 옵션을 사용하면  포트포워딩 해주는 과정이 생략된 채로 바로 컨테이너 포트로 접근이 가능한데, 도커가 알아서 호스트 커널에서 포트포워딩을 해주는 것인가요?

지금까지 강의를 그냥 듣다가 문득 궁금해서 질문 올려봅니다!

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변도우미입니다.

-p 옵션을 docker 명령어와 함께 사용하면, 호스트와 컨테이너 간의 포트(port) 배포(publish)/바인드(bind)를 해주거든요. 그래서, 예를 들어 다음과 같이 쓰면, 호스트 PC 에서 80 포트로 접근하면, 내부 docker 에서는 8000 포트로 포트포워딩을 해주도록 되어 있습니다. 내부에서 8000 포트를 리스닝하고 있으면, 외부에서 80 포트를 통해 접근한 데이터를 받을 수 있습니다.

docker run -d -p 80:8000 ...

 

감사합니다.