본문 바로가기
CODE/Docker

docker 이미지를 tar file로 사용하기 (save & load, export & import)

by Nuridal_class 2023. 12. 26.
728x90
728x90

 Docker image를 tar file로 왜 사용하지?

docker hub에서 사용하는 게 거의 대부분이지만 가끔씩은 tar file로 사용할 때도 있습니다
✍ 인터넷 환경이 제한적인 상황일 때
✍ 백업하거나 복원을 해야할 때
✍ dockerfile 없이 이미지 빌드가 필요할 때
주로 이런 상황에서 쓰일 것 같은데 한번 어떻게 tar file로 만드는지 알아보겠습니다

 

docker tar file로 저장하는 방법 👉1. save & load

save 명령와 사용방법은 아래와 같습니다
ex) docker save -o test.tar test:0.1
    => [option = -o] [파일명 = test.tar] [image:tag = test:0.1]​
아래는 실행 결과입니다

docker tar file save

 

이제는 이 test.tar 파일을 불러오는 방법입니다
불러올 때는 load로 불러옵니다
ex) docker load -i test.tar​

 

아래는 실행결과입니다
docker images로 보면 잘 가져온 것을 확인할 수 있습니다

docker tar file load

 

 

docker tar file로 저장하는 방법 👉2. export & import

docker export와 import 하는 방법은 아래와 같습니다
실행 결과도 위에 예제와 비슷합니다
ex) docker export test_container > test.tar
    => [컨테이너명 or 컨테이너ID = test_container] > [파일명 = test.tar]
    
ex) docker import test.tar test:0.1
    => [파일명 = test.tar] [image:tag = test:0.1]​

 

 

 save, export 차이점

그럼 똑같기만 한 것인가? 그건 아닙니다 차이점을 한눈에 보기 쉽게 정리하겠습니다

대상 저장정보 결과
Docker 이미지 이미지의 모든 레이어와 메타데이터
(ENTRYPOINT, CMD, ENV 등)
원본 이미지와 동일한 이미지
실행 중인 Docker 컨테이너 컨테이너의 현재 파일 시스템 상태
(메타데이터와 레이어 정보는 저장 X)
원래 컨테이너의 실행 상태나 메타데이터를 포함하지 않는 새 Docker 이미지
따라서 이미지의 완전한 복사본을 유지하거나 다른 시스템으로 이동하려는 경우에는 save & load
컨테이너의 파일 시스템 상태를 백업하거나 복원하려는 경우에는 export & import
상황에 맞게 사용하면 될 것 같습니다

이번 포스팅으로 docker image는 save & load
docker container는 export & import를 사용한다는 것을 알아보았습니다
그럼 다들 코딩이 쉬워지는 그날까지!!

728x90
300x250