Docker Desktop 데이터 백업 및 복원
Docker Desktop 데이터 백업 및 복원
이 절차를 사용해 이미지와 컨테이너 데이터를 백업하고 복원할 수 있어요. VM 디스크를 리셋하거나, Docker 환경을 새 컴퓨터로 옮기거나, 실패한 Docker Desktop 업데이트나 설치에서 복구할 때 유용해요.
본문
중요: 볼륨이나 바인드 마운트로 컨테이너 데이터를 저장한다면 컨테이너 백업이 필요 없을 수 있어요. 하지만 컨테이너를 만들 때 사용한 옵션을 기억해 두거나, 재설치 후 같은 설정으로 컨테이너를 다시 만들고 싶다면 Docker Compose 파일을 사용하세요.
Docker Desktop이 정상 동작하는 경우
데이터 저장하기
-
docker container commit으로 컨테이너를 이미지로 커밋해요. 컨테이너를 커밋하면 파일시스템 변경과 레이블, 환경 변수 같은 일부 컨테이너 설정을 로컬 이미지로 저장해요. 환경 변수에는 비밀번호나 프록시 인증 같은 민감한 정보가 포함될 수 있으니, 결과 이미지를 레지스트리에 push할 때 주의하세요. 컨테이너에 붙은 볼륨의 파일시스템 변경은 이미지에 포함되지 않고 별도로 백업해야 한다는 점도 기억하세요.database같은 명명된 볼륨으로 컨테이너 데이터를 저장했다면 스토리지 섹션의 데이터 볼륨 백업/복원/마이그레이션 페이지를 참고하세요. -
로컬로 빌드해서 유지하고 싶은 이미지는
docker push로 Docker Hub 레지스트리에 push해요. 이미지에 민감한 내용이 있다면 리포지토리 가시성을 private로 설정하세요. 대안으로docker image save -o images.tar image1 [image2 ...]로 유지하고 싶은 이미지를 로컬.tar파일로 저장할 수 있어요.
데이터를 백업한 후 현재 Docker Desktop 버전을 제거하고 다른 버전을 설치하거나 Docker Desktop을 공장 초기화로 리셋할 수 있어요.
데이터 복원하기
- 이미지를 로드해요. Docker Hub에 push했다면:
$ docker pull
.tar파일로 저장했다면:
$ docker image load -i images.tar
- 필요하면
docker run이나 Docker Compose로 컨테이너를 다시 만들어요.
볼륨 데이터를 복원하려면 데이터 볼륨 백업/복원/마이그레이션을 참고하세요.
Docker Desktop이 시작되지 않거나 전체 VM을 백업하려는 경우
Docker Desktop을 실행할 수 없어 재설치해야 한다면, VM 디스크와 이미지 데이터를 디스크에서 직접 백업할 수 있어요. 이 파일들을 백업하기 전에 Docker Desktop을 완전히 종료해야 해요.
Windows
- Docker 컨테이너/이미지를 백업하려면 다음 파일을 백업해요.
%LOCALAPPDATA%\Docker\wsl\data\docker_data.vhdx
안전한 위치로 복사해요.
- WSL 배포판을 백업하려면 실행 중인 WSL Linux 배포판(Ubuntu, Alpine 등)을 Microsoft의 가이드를 사용해 백업해요.
- 복원: Docker Desktop 재설치 후
docker_data.vhdx를 같은 위치에 복원하고 필요하면 WSL 배포판을 다시 가져와요.
Mac
- 다음 파일을 백업해요.
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
안전한 위치로 복사해요. Time Machine 백업에 Docker Desktop 데이터를 포함하려면 ~/Library/Containers/com.docker.docker 디렉터리가 Time Machine 백업 구성에서 제외되지 않았는지 확인해요.
- 복원: Docker Desktop 재설치 후
Docker.raw를 같은 위치에 복원해요.
Linux
- 다음 파일을 백업해요.
~/.docker/desktop/vms/0/data/Docker.raw
안전한 위치로 복사해요.
- 복원: Docker Desktop 재설치 후
Docker.raw를 같은 위치에 복원해요.