Shell Script 문법 정리
Title: Bash Shell Script 문법 정리 Author: DongDongE Tags: Programming Release: 2021.02.08 [Shell
앞전 "export" 으로 도커 컨테이너 추출하는 명령과 다르게 "save" 명령은 레이어 구조도 포함하여 압축합니다.
또한 1개 이상으로 동시에 tar 파일로 백업할 수 있어 추후에 복구할 수 있습니다.
docker image save <옵션> <이미지1, 이미지2, 이미지 n...>
아래 옵션을 통해 확인해보도록 하겠습니다.
dongdonge@dongdonge$ docker image save --help
Usage: docker image save [OPTIONS] IMAGE [IMAGE...]
Save one or more images to a tar archive (streamed to STDOUT by default)
Options:
-o, --output string Write to a file, instead of STDOUT
별다른 옵션이 존재하지 않으므로 아래 예시를 통해 사용해보겠습니다.
dongdonge@dongdonge$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
webservice/web-server 1.4 1dd352e0b911 24 hours ago 235MB
ubuntu latest 4c108a37151f 2 months ago 64.2MB
현재 2개의 이미지가 존재하므로 2개 모두 tar 아카이브 파일로 백업을 해보겠습니다.
dongdonge@dongdonge$ docker image save -o back_2019.tar webservice/web-server ubuntu
dongdonge@dongdonge$ ls
back_2019.tar
도커 이미지 "webservice/web-server"와 "ubuntu"를 "back_2019.tar" 파일로 백업이 된걸 볼 수 있습니다.
dongdonge@dongdonge$ tar -xvf back_2019.tar
1dd352e0b9116c9612169ba2a69417ada350222fdde5f60f45043b4ada94967f.json
4c108a37151f54439950335c409802e948883e00c93fdb751d206c9a9674c1f6.json
5296339821b9ad382f4a7b5f69b133399e6ccba0ceb94d9c78c552c5b9749fda/
5296339821b9ad382f4a7b5f69b133399e6ccba0ceb94d9c78c552c5b9749fda/VERSION
5296339821b9ad382f4a7b5f69b133399e6ccba0ceb94d9c78c552c5b9749fda/json
5296339821b9ad382f4a7b5f69b133399e6ccba0ceb94d9c78c552c5b9749fda/layer.tar
738c1346d982f4af9c0f4dfcf619f6b126e47b68c204c0ec6513fe072c3c61af/
738c1346d982f4af9c0f4dfcf619f6b126e47b68c204c0ec6513fe072c3c61af/VERSION
738c1346d982f4af9c0f4dfcf619f6b126e47b68c204c0ec6513fe072c3c61af/json
738c1346d982f4af9c0f4dfcf619f6b126e47b68c204c0ec6513fe072c3c61af/layer.tar
8a3c93da519db75caf01c43610d0e43756bbbdb91f3f84e14f9b4d1bbe150900/
8a3c93da519db75caf01c43610d0e43756bbbdb91f3f84e14f9b4d1bbe150900/VERSION
8a3c93da519db75caf01c43610d0e43756bbbdb91f3f84e14f9b4d1bbe150900/json
8a3c93da519db75caf01c43610d0e43756bbbdb91f3f84e14f9b4d1bbe150900/layer.tar
a2938fe975763a00326a3f608be01c64a30fa122c2656eb7a249f92269a00bd3/
a2938fe975763a00326a3f608be01c64a30fa122c2656eb7a249f92269a00bd3/VERSION
a2938fe975763a00326a3f608be01c64a30fa122c2656eb7a249f92269a00bd3/json
a2938fe975763a00326a3f608be01c64a30fa122c2656eb7a249f92269a00bd3/layer.tar
efa2bf230ac8b7511c5ba056f535dc9c8ba4dd7e64aef5eaea30720982c515b2/
efa2bf230ac8b7511c5ba056f535dc9c8ba4dd7e64aef5eaea30720982c515b2/VERSION
efa2bf230ac8b7511c5ba056f535dc9c8ba4dd7e64aef5eaea30720982c515b2/json
efa2bf230ac8b7511c5ba056f535dc9c8ba4dd7e64aef5eaea30720982c515b2/layer.tar
manifest.json
repositories
압축을 풀어 내부 파일을 확인해보면 "export"와 다르게 레이어 구조로 되어 있습니다.
다음 편에 방금 생성한 tar 파일을 가지고 "import" load 명령을 사용하여 이미지 로드 해보겠습니다.