[docker] 도커 이미지 다루기 (이미지를 tar로 저장해서 옮기기)
도커를 쓰다보니
registry를 이용하지 않고(docker hub) 이용 x
옮겨야 하는 상황이 발생한다.
Docker image를 tar 파일로 저장
(export/import/save/load)
Docker build나 commit으로 만들어진 이미지는 일반적으로 docker hub와 같은 registry에 push되고, 이를 다시 pull 받는 방식으로 사용된다. 하지만, 간혼 docker 이미지를 registry 거치지 않고 이동해야 할 때가 있다.
이럴 때 사용자는 docker 이미지 혹은 컨테이너를 tar 파일로 만들 수 있다.
Docker Save (docker image -> tar)
Docker 이미지를 tar 파일로 저장하기
$docker save [option] {파일명} {이미지명}
Ex)
Docker save -o nginx.tar nginx:latest
Docker Load (tar -> docker image)
tar파일로 만들어진 이미지를 다시 docker image로 되돌리기 위해서는 docker load 커맨드를 사용해야 한다.
$docker load -I tar 파일명
Docker export (docker container -> tar)
Docker는 이미지 뿐 아니라 container를 tar 파일로 저장하는 명령어를 제공한다.
$docker export {container id or name} > ~.tar
Docker import (tar -> docker image)
Export 커맨드를 통해 만들어진 tar 파일을 다시 docker image로 생성하는 명령어.
$docker image {파일 or URL} - IMAGE NAME:TAG NAME