Docker 이미지를 다른 서버로 옮기거나 백업해야 하는 경우가 있습니다. 이럴 때는 docker save 명령어를 사용하면 이미지를 하나의 파일(.tar)로 저장할 수 있습니다.
이번 글에서는 Docker 이미지를 파일로 저장하는 방법과 다시 불러오는 방법까지 함께 알아보겠습니다.
Docker 이미지를 파일로 저장하기
Docker 이미지를 파일로 저장하려면 docker save 명령어를 사용합니다.
docker save -o myimage.tar myimage:latest
예를 들어 nginx:latest 이미지를 저장하려면 다음과 같이 실행합니다.
docker save -o nginx.tar nginx:latest
또는 리다이렉션을 사용할 수도 있습니다.
docker save nginx:latest > nginx.tar
여러 개의 이미지를 하나의 파일로 저장하기
여러 개의 이미지를 함께 저장하는 것도 가능합니다.
docker save -o images.tar nginx:latest redis:7 ubuntu:24.04
이렇게 생성된 images.tar 파일에는 지정한 모든 이미지가 포함됩니다.
이미지를 압축해서 저장하기
Docker 이미지는 용량이 큰 경우가 많기 때문에 gzip으로 압축하는 것이 일반적입니다.
docker save nginx:latest | gzip > nginx.tar.gz
복원할 때는 다음과 같이 실행합니다.
gunzip -c nginx.tar.gz | docker load
저장한 이미지를 다시 불러오기
저장한 이미지는 docker load 명령어를 이용해 복원할 수 있습니다.
docker load -i nginx.tar
또는
docker load < nginx.tar
복원이 완료되면 이미지 목록에서 확인할 수 있습니다.
docker images
docker save와 docker export의 차이
많은 분들이 docker save와 docker export를 헷갈려 합니다.
명령어대상특징
| docker save | Image | 이미지 레이어와 메타데이터까지 모두 저장 |
| docker export | Container | 컨테이너의 파일 시스템만 저장 |
이미지를 다른 서버로 옮기거나 백업하려는 목적이라면 docker save와 docker load를 사용하는 것이 올바른 방법입니다.
다른 서버로 이미지 옮기기
1. 원본 서버
docker save -o myapp.tar myapp:v1
2. 파일 복사
scp나 rsync 등을 이용해 myapp.tar 파일을 대상 서버로 복사합니다.
3. 대상 서버
docker load -i myapp.tar
docker run myapp:v1
이제 원본 서버와 동일한 이미지를 사용할 수 있습니다.
마무리
Docker 이미지를 파일로 저장할 때는 docker save, 복원할 때는 docker load를 사용하면 됩니다. 용량이 큰 경우에는 gzip으로 압축하여 보관하거나 전송하면 효율적으로 관리할 수 있습니다.
Docker 환경을 운영하거나 Kubernetes 클러스터에 이미지를 배포해야 하는 경우 자주 사용하는 기능이므로 함께 익혀두면 많은 도움이 됩니다.
'Development > Docker&Kubernetes' 카테고리의 다른 글
| Kubernetes에서 다른 Namespace의 Service 호출하는 방법 (0) | 2026.07.02 |
|---|---|
| Docker Image export 방법 (0) | 2022.05.11 |
| CKAD 자격증 취득! (2) | 2022.05.02 |
| [K8S] Command and Arguments in K8S (0) | 2022.04.12 |
| CKA 자격증 시험보다가 한시간 넘게 국제 전화 한 이야기.... (8) | 2022.04.09 |