섹션5: Application Lifecycle Management - Command and Arguments

aeiou·2022년 3월 1일
0

Udemy-CKA

목록 보기
4/6

✏️ In Docker

  • "docker run ubuntu" 명령을 실행하면 Ubuntu 이미지 인스턴스가 실행되고 '즉시 종료'됨.

  • vm과 달리 컨테이너는 운영 체제를 호스팅하지 않음.

  • 컨테이너는 특정 작업이나 프로세스를 실행하기 위한 것임.
    ex) 인스턴스를 호스팅하기 위한 web server, application server, DB 등

  • 따라서 작업이 완료되면 컨테이너가 종료됨.

  • 컨테이너는 내부 프로세스가 살아있는 동안에만 살아있음.

컨테이너 내에서 실행되는 프로세스는 누가 정의함

Dockerfile

CMD

  • 컨테이너가 시작될 때 컨테이너 내에서 실행될 프로그램을 정의하는 명령이 표시됩니다.
  • 이미지 각각 nginx, mysql cmd임

Ubuntu 컨테이너가 즉시 종료되는 이유

  • bash가 default command 임
  • bash는 실제로 WEB 또는 DB 서버와 같은 프로세스가 아님.
  • 터미널에서 입력을 수신 대기하는 쉘임.
  • 터미널을 찾을 수 없으면 종료함.

Ubuntu 컨테이너를 시작하기 위해 다른 cmd 지정하는 방법 (3가지)

1."docker run"에 cmd 추가

이 방법은 이미지 내에 지정된 기본 명령을 무시합니다.

2. 이미지가 시작될 때 기본 cmd로 실행 방법

(1) 기본 Ubuntu 이미지에서 고유한 이미지 만들기
(2) 새 cmd 지정

3. cmd의 시간(초)을 변경 방법


(1) ENTRYPOINT 사용

  • cmd ["5"]는 default 값이고,
  • docker run ubuntu-sleepler 10을 하면 10으로 적용됨(5는 무시됨)

📌 In K8S

0개의 댓글