잘못된 EXPOSE 포맷

잘못된 EXPOSE 포맷 (ExposeInvalidFormat)

빌드 체크 규칙 중 하나로, EXPOSE 지시어에 IP 주소나 호스트-포트 매핑이 포함된 경우를 알려줘요. EXPOSE는 컨테이너가 런타임에 어떤 포트를 listen하는지 나타내는 용도라서 포트 번호와 프로토콜만 명시해야 해요.

출처: 문서

본문

Dockerfile의 EXPOSE 지시어는 컨테이너가 런타임에 listen하는 포트를 나타내요. 여기에 IP 주소나 호스트-포트 매핑을 넣는 것은 의도된 용도가 아니에요. 대신 포트 번호와 선택적으로 프로토콜(TCP 또는 UDP)만 지정해야 합니다. 이 규칙은 향후 릴리스에서 오류가 될 예정이에요.

출력 메시지

EXPOSE instruction should not define an IP address or host-port mapping, found '127.0.0.1:80:80'

예시

❌ 나쁜 예: IP 주소와 호스트-포트 매핑을 사용했어요.

FROM alpine
EXPOSE 127.0.0.1:80:80

✅ 좋은 예: 포트 번호만 지정해요.

FROM alpine
EXPOSE 80

❌ 나쁜 예: 호스트-포트 매핑을 사용했어요.

FROM alpine
EXPOSE 80:80

✅ 좋은 예: 포트 번호만 지정해요.

FROM alpine
EXPOSE 80

더 알아보기