일단은 프로그래머 나부랭이

docker container backup & restore 본문

Linux

docker container backup & restore

하필이면 도대체가 2024. 7. 25. 10:47

docker container backup & restore 방법 정리
아래의 내용은 docker 1.13버전의 container를 20.10 버전으로 업그레이드 하는 과정에서 진행했던 backup & restore 방법을 정리 및 공유하기 위하여 작성한다.

아래는 container의 backup과 restore만을 정리했다.
따라서 docker network와 bind 된 volume(docker run -v로 지정한 그것)은 아래의 내용과 별개로 재구성을 해줘야한다.

backup

  1.  docker commit [container name] [생성할 image name]
    • 현재 사용중인 container를 docker image로 생성한다
    • 이 때 docker run -v 옵션으로 지정한 폴더의 내용은 저장되지 않는다
      • 이는 어차피 host 장비에 저장되어 있기 때문으로 판단된다.
  2. docker save -o [file name].tar.gz [backup 대상 image]
    • docker image를 tar.gz로 저장한다

restore

  1. docker load -i [file name].tar.gz
    • 이 때 file name은 docker image name으로 지정된다
    • load가 정상 수행될 경우, docker images에서 확인할 수 있다
  2. docker run -d [restore된 docker image]
    • 이 때 -v, --network, --name 등등의 옵션을 지정하여 기존과 동일한 내용을 container를 복원하도록 한다

 

추가로 docker save와 docker export의 차이를 정리한다.
아래의 내용은 ChatGPT에게 질문하여 답변 받은 내용을 정리한 것이다 

 

  • docker save:
    • 이미지를 tar 파일로 저장.
    • 이미지의 모든 레이어와 메타데이터 포함.
    • docker load를 사용하여 복원.
  • docker export:
    • 컨테이너의 파일 시스템을 tar 파일로 저장.
    • 컨테이너의 상태와 데이터만 포함.
    • docker import를 사용하여 복원.

 


Comments