• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

멀티 스테이지 빌드 질문이있습니다!

24.05.12 20:39 작성 조회수 128

1

멀티스테이지에서 java 코드 빌드하는 컨테이너, jar파일 실행하는 컨테이너를 나눈다고 말씀해주셨어요!

 

이 과정에서 dockerfile을 통해 build하면,

각 컨테이너에 대한 이미지가 2벌 생성될것이라고 예상했는데 실행하는 부분만 이미지가 생성되는 이유를 알고싶습니다..!!

답변 2

·

답변을 작성해보세요.

0

kgw753님 안녕하세요. 데브위키입니다.

멀티스테이지의에서 생성되는 이미지는 마지막에 FROM 으로 추가한 최종 스테이지만 이미지로 빌드합니다! 그 외의 스테이지에서 사용된 임시 컨테이너는 이미지로 만들지 않고 자동으로 삭제됩니다.

CMD는 필수 지시어가 아니기 때문에 CMD가 없어도 이미지는 정상적으로 빌드됩니다 😀

 

강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문해주세요!

0

kgw753님의 프로필

kgw753

질문자

2024.05.12

첫번째 컨테이너에서는 CMD가 없기 때문에 이미지가 실행되어도 수행할 동작이 없어서 이미지가 생성되지 않았다.

즉 이미지가 생성되기 위해서는 CMD가 설정되어야한다.

<< 혹시 이 추론이 맞을까요..!?

아닙니다! 최종 스테이지만 이미지로 빌드하는 것이 도커 이미지 빌드의 규칙입니다😊 CMD가 없으면 컨테이너가 잘 실행되지 않겠지만, Docker 이미지가 생성되기 위해서 CMD가 반드시 설정되어야 하는 것은 아닙니다.