Docker Image 추출
Docker Image 추출
· Version : Docker
지난 포스트에 docker commit 명령을 사용하여 이미지를 생성한 다음 docker hub를 사용하여 이미지를 공유하는 방법에 대해서 다루었다.
· 도커 이미지 생성 : http://sqlmvp.kr/221461385385
이번 포스트에서는 이미지 파일을 단일 바이너리 파일로 저장하는 방법과 저장된 이미지 파일을 로드 하는 방법에 대해서 살펴본다.
이미지를 파일로 추출하는 명령은 docker save이다. 이 명령을 사용하면 이미지의 모든 메타 데이터를 포함하는 하나의 파일로 추출할 수 있다.
docker save [option] image [image] docker save busybox > busybokx.tar docker save --output busybox.tar busybox docker save -0 fedora-latest.tar fedora:latest |
· --output, -o : STDOUT 대신 파일에 쓰기
추출된 이미지는 docker load 명령으로 도커에 다시 로드할 수 있다. 이미지를 로드하면 이전의 이미지와 동일한 이미지가 도커 엔진에 생성된다.
docker load [OPTION] docker load < busybox.tar docker load --input fefora.tar |
· --input, -i : STDIN 대신 tar 아카이브 파일에서 읽기
· --quiet, -q : 부하 출력 억제
docker save, load 와 비슷한 기능을 하는 명령으로 docker export, import가 있다.
export 명령은 컨테이너의 파일 시스템을 tar 파일로 추출하고 import는 추출된 파일을 이미지로 다시 저장한다. export 명령은 컨테이너와 연관된 볼륨의 내용을 내보내지는 않는다. 볼륨이 컨테이너의 기존 디렉터리 위에 마운트 되면 docker export는 볼륨의 내용이 아닌 기본 디렉토리의 내용을 내보낸다.
docker export [OPTIONS] CONTAINER docker export red_panda > latest.tar docker export –output=”latest.tar” red_panda |
· --output, -o : SDTOUT대신 파일에 쓰기
Import 명령을 사용할 때 STDIN에서 직접 데이터를 가져오기 위해 URL또는 –(대시)를 지정할 수 있다. URL은 파일 시스템이나 Docker 호스트의 개별 파일(.tar, .tar.gz, .tgz, .bˆp, .tar.xz, .txz)을 포함하는 아카이브를 가리킬 수 있다. 아카이브를 지정하면 Docker는 컨테이너에서 /(root)를 기준으로 아카이브에 압축 해제 한다. 개별 파일을 지정하는 경우 호스트 내 전체 경로를 지정해야 한다. 원격에서 가져오려면 http://또는 https://로 시작하는 URL프로토콜을 사용한다.
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] docker import http://example.com/exampleimage.tgz docker import /path/to/exampleimage.tgz |
· --change, -c : 생성된 이미지에 dockerfile 적용
· --message, -m : 가져온 이미지에 커밋 메시지 설정
· --platform : 서버가 멀티 플랫폼 가능하면 플랫폼 설정
[참고자료]
· docker save : https://docs.docker.com/engine/reference/commandline/save/
· docker load : https://docs.docker.com/engine/reference/commandline/load/
· docker export : https://docs.docker.com/engine/reference/commandline/export/
· docker import : https://docs.docker.com/engine/reference/commandline/import/
2019-02-11 / Sungwook Kang / http://sqlmvp.kr
Docker, 이미지 추출, docke save, docker load, docker import, docker export, 도커 로드