본문 바로가기

가상 머신/Docker

[ Docker ] Container 저장하기

반응형

Docker에서 컨테이너를 "저장"하는 방법은 여러 가지가 있지만, 일반적으로는 컨테이너의 상태를 저장하거나 컨테이너의 이미지를 만들기 위한 방법을 사용합니다. 주요 방법은 아래와 같습니다:

 

1. 컨테이너 상태를 이미지로 저장 (커스텀 이미지 만들기)

컨테이너에서 변경된 내용을 이미지로 저장하려면, docker commit 명령어를 사용하여 해당 컨테이너의 상태를 새로운 이미지로 저장할 수 있습니다. 예를 들어, my_container라는 이름의 컨테이너에서 상태를 이미지로 저장하려면:

docker commit my_container my_new_image

이렇게 하면 my_container의 상태가 my_new_image라는 새로운 이미지로 저장됩니다.

 

2. 컨테이너 데이터를 저장 (볼륨 사용)

컨테이너 내의 데이터를 지속적으로 저장하려면 Docker 볼륨을 사용할 수 있습니다. 볼륨은 Docker 외부에 데이터를 저장할 수 있어 컨테이너가 삭제되거나 재시작되어도 데이터가 유지됩니다.

컨테이너를 실행할 때 -v 옵션을 사용하여 볼륨을 마운트할 수 있습니다:

docker run -v /path/on/host:/path/in/container <이미지 이름>

예를 들어, my_container라는 컨테이너에서 /data 디렉토리의 데이터를 호스트 시스템의 /host/data 디렉토리로 저장하려면 다음과 같이 실행할 수 있습니다:

docker run -v /host/data:/data <이미지 이름>

이렇게 하면 /data 디렉토리의 내용은 호스트의 /host/data 디렉토리로 지속적으로 저장됩니다.

 

3. 컨테이너의 상태를 백업 (컨테이너의 파일 시스템 압축)

컨테이너의 파일 시스템을 백업하고 싶다면, 컨테이너의 파일 시스템을 tar 아카이브로 저장할 수 있습니다. 예를 들어:

docker export <컨테이너 이름 또는 ID> -o <백업 파일 이름>.tar

예를 들어 my_container라는 컨테이너를 my_container_backup.tar로 백업하려면:

docker export my_container -o my_container_backup.tar

이렇게 하면 해당 컨테이너의 파일 시스템을 .tar 파일로 저장할 수 있습니다.

 

4. 컨테이너를 이미지로 저장하고 다시 실행

이미지를 저장하고 싶다면 docker save 명령어를 사용하여 이미지 파일을 저장할 수 있습니다:

docker save -o <이미지 파일 이름>.tar <이미지 이름>

이렇게 하면 Docker 이미지를 .tar 파일로 저장할 수 있습니다. 예를 들어 my_new_image 이미지를 백업하려면:

docker save -o my_new_image.tar my_new_image

이후 docker load 명령어로 이미지를 복원할 수 있습니다:

docker load -i my_new_image.tar

이렇게 하면 컨테이너의 상태를 다양한 방법으로 "저장"할 수 있습니다.

반응형