Notice
Recent Posts
Recent Comments
Link
Connecting
불좀 꺼줄래? 내 Docker좀 보게 PART 6 - 도커 이미지 저장 및 복원하기 본문
반응형
Docker backup & restore
Docker를 사용하다 보면 해당 이미지 혹은 컨테이너를 직접 백업하고 복구하는 상황이 생길 수 있다. 이때는 다음과 같은 명령을 통해서 시도할 수 있다.
docker export
컨테이너를 백업하는 명령이다.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f70cd32010d3 hello-dockerfile "cat /hello-docker.t…" 29 minutes ago Exited (0) 29 minutes ago
$ docker export f70cd32010d3 > ./hello-dockerfile.tar # 컨테이너 ID 혹은 이름으로 지정
docker import
출력된 컨테이너를 복구하는 명령이다. 반드시 export된 컨테이너만 사용할 수 있다.
$ docker import hello-dockerfile.tar dockerfile
sha256:81997a2091ba3eeebf40e744c7f0eb2113219b3e0e7f0b6d35e3494125b24d76
$ ocker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dockerfile latest 81997a2091ba About a minute ago 98.8MB
docker save
Docker 이미지를 백업하는 명령어이다.
$ docker save -o hello-dockerfile.tar jusk2/hello-dockerfile
$ ls -l
-rw------- 1 seongwon staff 104734720 10 15 17:45 hello-dockerfile-image.tar
docker load
추출된 이미지를 로드하는 명령이다. 반드시 save된 이미지만 사용할 수 있다.
$ docker load -i hello-dockerfile-image.tar
Loaded image: jusk2/hello-dockerfile:latest
Loaded image: jusk2/hello-dockerfile:v1.0
동일한 명령어 같이 보이지만 자세히 보면 차이가 분명히 존재하는 다른 명령어이다. export의 경우 컨테이너를 동작하기 위한 모든 파일이 압축되기 때문에 tar 파일에는 루트 시스템 전체가 담겨있다. 하지만 save의 경우 이미지 레이어 구조까지 포함된 형태로 압축되기 때문에 출력된 파일이 tar로 동일하더라도, 압축되어 있는 파일 구조 및 디렉터리 형식이 다르기 때문에 export -> import, save -> load를 사용해서 이미지화시켜야 한다.
'Container' 카테고리의 다른 글
불좀 꺼줄래? 내 Docker좀 보게 PART 8 - Docker-Compose 기본 개념 (0) | 2020.11.17 |
---|---|
불좀 꺼줄래? 내 Docker좀 보게 PART 7 - Dockerfile (0) | 2020.11.16 |
불좀 꺼줄래? 내 Docker좀 보게 PART 5 - Dockerfile 작성하기 (0) | 2020.11.14 |
불좀 꺼줄래? 내 Docker좀 보게 PART 5 - Docker 볼륨 사용하기 (0) | 2020.11.13 |
불좀 꺼줄래? 내 Docker좀 보게 PART 4 - 실전 연습 - Docker hub 사용하기 (0) | 2020.11.13 |
Comments