본문 바로가기

가상 머신/Docker

[ Docker ] save, export - 도커 이미지, 파일 시스템 저장하기

반응형

docker savedocker export는 둘 다 Docker 이미지나 컨테이너의 데이터를 파일로 저장하는 명령어이지만, 그 목적과 사용 방법에는 차이가 있습니다.

1. docker save

  • 목적: Docker 이미지를 아카이브 파일로 저장하는 데 사용됩니다.
  • 사용 대상: Docker 이미지.
  • 파일 형식: tar 형식으로 이미지를 저장합니다.
  • 특징:
    • docker save 명령어는 Docker 이미지를 포함하는 모든 레이어와 메타데이터를 저장합니다.
    • 저장된 파일을 다른 시스템에서 docker load 명령으로 불러와 사용할 수 있습니다.
    • 이 방식은 이미지 전체를 보존하며, 그 안에 포함된 모든 설정(예: 환경 변수, 레이어 정보 등)을 유지합니다.

예시:

docker save -o my_image.tar my_image:latest

2. docker export

  • 목적: Docker 컨테이너의 파일 시스템을 아카이브 파일로 저장하는 데 사용됩니다.
  • 사용 대상: Docker 컨테이너.
  • 파일 형식: tar 형식으로 컨테이너의 파일 시스템을 저장합니다.
  • 특징:
    • docker export는 컨테이너의 파일 시스템만 저장합니다. 즉, 실행 중인 컨테이너의 파일 구조만 저장하고, 이미지의 레이어나 설정(예: 환경 변수, 커스텀 설정 등)은 포함되지 않습니다.
    • 이 파일을 다른 시스템에서 docker import 명령으로 새로운 이미지를 생성할 수 있습니다.
    • 컨테이너에서 변경된 부분만 포함되고, 원본 이미지의 메타데이터는 포함되지 않습니다.

예시:

docker export -o my_container.tar my_container

주요 차이점:

  • docker save이미지를 저장하고, docker export컨테이너의 파일 시스템을 저장합니다.
  • docker save는 이미지의 모든 레이어와 메타데이터를 포함하지만, docker export는 컨테이너의 파일 시스템만 저장하며 이미지의 메타데이터나 레이어 정보는 포함하지 않습니다.

따라서, 이미지를 백업하고 공유하려면 docker save를 사용하고, 실행 중인 컨테이너의 파일 시스템을 백업하려면 docker export를 사용하면 됩니다.

반응형