컨테이너의 생명주기 상태는
어떻게 구성되어 있을까?
컨테이너의 생명주기 상태 (STATUS)
--
우선 컨테이너는 이미지로부터 시작한다.
생성
이미지를 통해 컨테이너가 만들어지기만한 상태이다.
컨테이너를 실행하기 위한 격리된 공간을 만들어지는 상태이며
(네트워크, 스토리지, 환경변수 등 모든 리소스가 격리된 공간인 컨테이너로 분리된 상태)
아직 내부에서 프로세스를 실제로 실행하지 않기 때문에 호스트 OS의 CPU와 메모리는 사용하지 않는다.
실행
컨테이너가 실행 중인 상태이다.
호스트OS의 CPU와 메모리를 사용한다.
일시정지
실행 중인 컨테이너를 잠시 일시 중지한 상태이다.
다시 실행하면 중지했던 시점부터 다시 이어서 실행을 할 수 있다.
종료
실행 중인 컨테이너를 아예 종료를 시킨 상태이다.
컨테이너를 생성만 한 상태와 비슷한 상태라고 생각하면 된다.
종료된 컨테이너를 다시 실행을 시키면 다시 처음부터 다시 실행된다.
삭제
컨테이너를 삭제한 상태이다.
삭제된 컨테이너는 다시 실행시키거나 다른 작업을 수행할 수 없다.
--
컨테이너 생명주기 상태 변환 명령어
--
이미지를 통해 컨테이너를 생성만 하는 명령어
docker create ...
생성된 컨테이너를 실행시키는 명령어
docker start ...
이미지를 통해 컨테이너를 생성 및 실행까지 시키는 명령어
docker run ...
실행 중인 컨테이너를 다시 재시작하는 명령어
docker restart ...
실행 중인 컨테이너를 일시 중지시키는 명령어
docker pause ...
일시 중시된 컨테이너를 다시 이어서 실행시키는 명령어
docker unpause ...
실행 중인 컨테이너를 종료 시키는 명령어 / 종료된 컨테이너를 다시 실행시키기 위해서는 start 명령어 사용
docker stop ...
docker start ...
종료된 컨테이너 또는 일시중지된 컨테이너를 삭제하는 명령어
docker rm ...
실행 중인 컨테이너를 삭제하려면 강제로 삭제를 시키기 위해 -f 옵션을 추가로 사용
docker rm -f ...
실행 중인 컨테이너에 종료 및 재시작 명령어를 보내면
약 10초 뒤에 해당 동작을 수행한다.
즉, 해당 상황에서 명령어를 보내면 바로 수행하는 것이 아닌 10초 텀 뒤에 수행된다.
--
참고 및 출처
'Docker' 카테고리의 다른 글
Docker Hub에 이미지 다운로드 및 업로드 명령어 (+ Docker Hub 사용법) (0) | 2024.06.16 |
---|---|
이미지 레지스트리 (feat. Docker Hub) (0) | 2024.06.15 |
다른 사용자의 이미지를 다운로드하기 (+ Env 덮어씌우기) (0) | 2024.06.13 |
이미지를 컨테이너로 실행할 때 이미지의 메타데이터 Env와 Cmd 덮어씌우기 (명령어) (0) | 2024.06.12 |
이미지 및 컨테이너의 메타데이터를 조회 (명령어) (0) | 2024.06.11 |