이미지는 save / load 를 사용해 파일로 주고받고
컨테이너는 export / import 를 사용해 파일을 주고 받는다.
단, export 로 컨테이너를 백업할 경우, 메타정보등을 저장 안하고 파일시스템 복사만 이루어 지므로 파일 사이즈는 적어지나 이미지로 복원시 추가적인 플래그등의 설정이 필요할 수 있다.
$ docker save [Option] {image_name}
※ myimg 라는 이미지를 보존하는 방법
$ docker save myimg > myimg.tar
$ docker load < myimg.tar
$ docker export [Option] {Container_name|Container_ID}
※ mycon 이라는 컨테이너를 보존하는 방법
$ docker export mycon > mycon.tar
$ cat {File} | docker import [Options] - [Repository[:Tag]]
or
$ docker import {File} - [Repository[:Tag]]
※ export한 컨테이너가 nginx의 경우, 추가적인 플래그등 ex) CMD 설정등이 필요 하므로 아래와 같이 추가적인 설정
$ cat mycon.tar | docker import --change 'CMD ["nginx", "-g", "daemon off;"]' - newimg:latest
※ 이미지로 부터 Nginx 실행 해 보기
$ docker run -d -p 8080:80 --name myNginxContainer newimg:latest
$ docker stop mytom
$ docker commit mytom test/tomcat