[CKA] 컨테이너 Command
컨테이너 Command의 핵심 개념과 구성 방법, 실습 풀이를 정리합니다.
파드 정의 파일의 Command 인수에 관련된 내용입니다.
컨테이너는 기본적으로 운영체제를 호스팅하지 못합니다. 운영체제를 호스팅하도록 구성되지 않아 기본적으론 데이터베이스, 서버, 여러 작업들을 호스팅하면서 연산과 분석이 수행하는데 이때 서버에서 작업이 끝나게 되면 컨테이너가 종료됩니다.
따라서 컨테이너 안에 서비스가 충돌된다면 컨테이너는 종료됩니다.
Image 정의 파일에 보면 CMD 를 정의하며 내부 프로세스가 동작하고 해당 프로세스가 지속되는 동안 지속적으로 실행됩니다.
운영체제가 호스팅 되지 못하는 이유 또한 Ubuntu가 실행된다고 해도 장기 실행 프로세스 없이 시작되며 무한 동작하는 프로세스를 실행하지 않는 한 지속적으로 종료됩니다.
ENTRYPOINT로 설정한다면 CLI 명령 수행시 Arg를 전달할 수 있습니다.
ENTRYPOINT 과 CMD 를 같이 쓴다면 default를 설정할 수 있습니다.
실행되는 동안 ENTRYPOINT를 수정하고 싶다면 docker run--entrypoint 명령을 통해 수행합니다. --entrypoint 플래그는 Dockerfile의 ENTRYPOINT를 오버라이드합니다. 하지만 이미 실행 중인 컨테이너에는 영향을 주지 않으며 새로 시작되는 컨테이너에만 적용됩니다.