docker checkpoint rm 명령으로 체크포인트 제거하는 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 Docker 컨테이너 체크포인트를 관리하는 방법을 배우게 됩니다. 먼저 Docker 컨테이너를 생성한 다음 현재 상태의 체크포인트를 생성하여 컨테이너의 상태를 저장하고 복원할 수 있도록 합니다.

체크포인트를 생성한 후에는 기존 체크포인트를 나열하여 존재 여부를 확인하는 방법을 배우게 됩니다. 마지막으로, docker checkpoint rm 명령을 사용하여 특정 체크포인트를 제거하고 성공적으로 제거되었는지 확인하는 실습을 진행합니다. 이 랩은 Docker 체크포인트의 기본적인 작업에 대한 실질적인 경험을 제공합니다.

컨테이너 생성 및 체크포인트 생성

이 단계에서는 Docker 컨테이너를 생성한 다음 현재 상태의 체크포인트를 생성하는 방법을 배우게 됩니다. 체크포인트를 사용하면 실행 중인 컨테이너의 상태를 저장하고 나중에 복원할 수 있습니다. 이는 디버깅, 마이그레이션 또는 애플리케이션의 스냅샷 생성에 유용합니다.

먼저, 컨테이너를 실행할 이미지가 필요합니다. ubuntu 이미지를 사용합니다. LabEx VM 환경에는 모든 이미지가 미리 풀링되어 있지 않으므로, 먼저 ubuntu 이미지를 풀링합니다.

docker pull ubuntu

ubuntu 이미지가 풀링되고 있음을 나타내는 출력을 볼 수 있습니다.

Using default tag: latest
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

이제 ubuntu 이미지에서 간단한 컨테이너를 실행해 보겠습니다. 분리 모드 (-d) 로 실행하고 이름을 지정합니다 (--name checkpoint-test). 또한 sleep infinity와 같이 컨테이너를 계속 실행하는 명령을 실행합니다.

docker run -d --name checkpoint-test ubuntu sleep infinity

컨테이너 ID 인 긴 문자열을 볼 수 있습니다.

<container_id>

컨테이너가 실행 중인지 확인하려면 docker ps 명령을 사용할 수 있습니다.

docker ps

checkpoint-test 컨테이너가 Up 상태로 나열된 것을 볼 수 있습니다.

CONTAINER ID   IMAGE     COMMAND           CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu    "sleep infinity"   X seconds ago   Up X seconds             checkpoint-test

이제 실행 중인 컨테이너가 있으므로 해당 상태의 체크포인트를 생성할 수 있습니다. docker checkpoint create 명령을 사용하고, 컨테이너 이름과 체크포인트 이름을 차례로 입력합니다. 체크포인트 이름을 my-checkpoint로 지정해 보겠습니다.

docker checkpoint create checkpoint-test my-checkpoint

명령이 성공하면 아무런 출력이 표시되지 않습니다. 이는 체크포인트가 생성되었음을 의미합니다.

기존 체크포인트 목록 확인

이전 단계에서 checkpoint-test 컨테이너에 대한 my-checkpoint라는 체크포인트를 생성했습니다. 이 단계에서는 컨테이너에 대한 기존 체크포인트를 나열하는 방법을 배우게 됩니다.

특정 컨테이너의 체크포인트를 나열하려면 docker checkpoint ls 명령을 사용하고 컨테이너 이름을 입력합니다.

docker checkpoint ls checkpoint-test

출력에 이전 단계에서 생성한 체크포인트의 이름이 표시되어야 합니다.

CHECKPOINT ID
my-checkpoint

이 명령은 지정된 컨테이너에 대해 생성된 모든 체크포인트를 표시합니다. 여러 체크포인트를 생성한 경우, 모든 체크포인트가 여기에 나열됩니다.

특정 체크포인트 삭제

이전 단계에서 컨테이너와 해당 컨테이너의 체크포인트를 생성한 다음 기존 체크포인트를 나열했습니다. 이 단계에서는 특정 체크포인트를 제거하는 방법을 배우게 됩니다.

체크포인트를 제거하려면 docker checkpoint rm 명령을 사용하고, 컨테이너 이름과 제거하려는 체크포인트의 이름을 입력합니다. checkpoint-test 컨테이너에서 my-checkpoint 체크포인트를 제거합니다.

docker checkpoint rm checkpoint-test my-checkpoint

명령이 성공하면 아무런 출력이 표시되지 않습니다. 이는 체크포인트가 제거되었음을 나타냅니다.

체크포인트를 제거해도 실행 중인 컨테이너에는 영향을 미치지 않습니다. 컨테이너는 현재 상태로 계속 실행됩니다.

체크포인트 삭제 확인

이전 단계에서 checkpoint-test 컨테이너에서 my-checkpoint 체크포인트를 제거했습니다. 이 단계에서는 체크포인트를 다시 나열하여 체크포인트가 성공적으로 제거되었는지 확인합니다.

체크포인트가 제거되었는지 확인하기 위해, 2 단계에서 했던 것처럼 checkpoint-test 컨테이너에 대해 docker checkpoint ls 명령을 사용합니다.

docker checkpoint ls checkpoint-test

이번에는 출력이 없거나, 이 컨테이너에 대한 체크포인트가 없다는 오류 메시지가 표시되어야 합니다. 이는 my-checkpoint 체크포인트가 제거되었음을 확인합니다.

여전히 my-checkpoint가 나열되어 있다면, 이전 단계로 돌아가 docker checkpoint rm 명령을 올바르게 실행했는지 확인하십시오.

체크포인트가 제거되었는지 확인한 후, 생성한 컨테이너를 정리할 수 있습니다. checkpoint-test 컨테이너를 중지한 다음 제거합니다.

먼저, 컨테이너를 중지합니다.

docker stop checkpoint-test

출력으로 컨테이너 이름이 표시되어야 합니다.

checkpoint-test

그런 다음, 컨테이너를 제거합니다.

docker rm checkpoint-test

다시 출력으로 컨테이너 이름이 표시되어야 합니다.

checkpoint-test

이제 docker ps를 실행하면 checkpoint-test 컨테이너가 나열되지 않아야 합니다.

docker ps

이 명령은 실행 중인 컨테이너만 표시해야 합니다. 다른 컨테이너가 실행 중이지 않으면 출력은 헤더 행만 표시됩니다.

요약

이 랩에서는 Docker 컨테이너를 생성한 다음 docker checkpoint create 명령을 사용하여 현재 상태의 체크포인트를 생성하는 방법을 배웠습니다. 먼저 ubuntu 이미지를 가져와 sleep infinity 명령으로 checkpoint-test라는 컨테이너를 detached 모드로 실행했습니다. docker ps를 사용하여 컨테이너가 실행 중인지 확인했습니다. 마지막으로, checkpoint-test 컨테이너에 대한 my-checkpoint라는 체크포인트를 생성했습니다.