Kubernetes Pod, Docker Container 커맨드 설정 정리 및 비교 (Pod command, args & Docker Image ENTRYPOINT, CMD)
Intro
Pod에 커맨드 정보 command, args를 정의할 때 Docker image의 Entrypoint와 CMD를 덮어쓰는 기준이 달라 주의해야한다.
비교
Kubernetes Pod 커맨드 설정 필드
command
- define a command
- 배열
- 명시할 경우 Docker Image의 ENTRYPOINT 필드를 덮어쓴다.
arg
- define arguments for the command
- 배열
- 명시할 경우 명시할 경우 Docker Image의 ENTRYPOINT 필드를 덮어쓴다.
Docker Image 커맨드 설정 필드
ENTRYPOINT
- Default Command to Execute at Runtime
- 배열
- 두번째 인자부터 인자로 실행
- docker run 명령에서 –entrypoint 명령으로 덮어 쓸 수 있다.
CMD
- Default Command or Options
- 배열
- 두번째 인자부터 인자로 실행
참고) docker run 사용법
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
ENTRYPOINT와 CMD의 차이
- docker run 시 COMMAND를 명시할 경우 CMD가 무시된다.
- CMD와 ENTRYPOINT를 함께 명시할 경우 CMD 혹은 docker run의 COMMAND가 ENTRYPOINT의 인자로 추가된다.
Kubernetes Pod, Docker Image 커맨드 설정 필드 관계
Pod의 command 필드
- Docker Image의 ENTRYPOINT 필드를 덮어쓴다.
Pod의 args 필드
- Docker Image의 CMD 필드를 덮어쓴다.
Leave a comment