잘못된 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
더 알아보기
- EXPOSE 프로토콜 대소문자 (ExposeProtoCasing): EXPOSE 프로토콜 표기 규칙을 확인해요.
- 빌드 체크 개요: 기타 빌드 체크 규칙을 살펴봐요.