Dockerfile CMD와 ENTRYPOINT 상호작용

1 개요[ | ]

Understand how CMD and ENTRYPOINT interact
Dockerfile CMD와 ENTRYPOINT 상호작용
  • ENTRYPOINT와 CMD 조합으로 실행되는 명령어
  • 둘다 있을 경우 ENTRYPOINT가 앞, CMD가 뒤
구분 ENTRYPOINT
없음 shell 형식
ENTRYPOINT a b
exec 형식 ★
ENTRYPOINT ["a", "b"]
CMD 없음 오류, 허용되지 않음 /bin/sh -c a b a b
shell 형식
CMD c d
/bin/sh -c c d /bin/sh -c a b a b /bin/sh -c c d
exec 형식 ★
CMD ["c", "d"]
c d /bin/sh -c a b a b c d
→ ENTRYPOINT, CMD 모두 exec 형식으로 작성하는 것이 권장된다.
→ 이렇게 하면 /bin/sh의 개입 없이 ENTRYPOINT와 CMD의 원소들이 차례로 나열되어 실행 명령어가 구성된다.

※ 한편, base 이미지에 CMD가 정의되어 있더라도, 현재 이미지에서 ENTRYPOINT를 설정하면 CMD는 빈값으로 초기화된다.

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}