Docker

[Docker] Docker References - EXPOSE

patrick-star 2023. 9. 18. 18:36
728x90
  • EXPORT 명령어 기본 문법
    EXPOSE <port> [<port>/<protocol>...]

EXPOSE 명령어(instruction)는 Docker에게 container가 동작하는 동안 특정 포트를 사용한다는 것을 알려준다.
포트의 프로토콜은 TCP 또는 UDP이고 기본값으로는 TCP가 적용된다.

EXPOSE 명령어가 실제로 포트 번호를 publish하는 건 아니다.
단지 이미지를 빌드하는 사람컨테이너를 동작시키는 사람 사이에 어떤 포트를 publish하도록 의도되었는지를 문서의 형태로 제공된다.

진짜로 container에서 port 번호를 publish하고 싶다면 docker run을 할 때 컨테이너의 -p 옵션값을 설정해줘야 한다.

ex)

EXPOSE 80/udp # UDP의 80번 포트를 열도록 하고 싶음

EXPOSE 80/tcp # 하나의 dockerfile에 2개의 포트 번호를 열고 싶음
EXPOSE 80/udp

물론 이렇게 EXPOSE 명령어를 사용하는 것과 상관없이 docker run 명령에서 -p 옵션을 사용하면 -p 옵션에서 지정한 값으로 override된다.