Docker를 운영하다 보면 백업해 둔 이미지를 새로운 서버로 옮기거나, 인터넷이 연결되지 않은 환경에서 이미지를 복원해야 하는 경우가 자주 있습니다. 특히 폐쇄망 환경이나 운영 서버 이전 작업에서는 Docker Hub에서 이미지를 다시 다운로드할 수 없기 때문에 백업한 이미지를 직접 복원해야 합니다.
이럴 때 사용하는 명령어가 바로 docker image load입니다.
Docker Image Load는 docker image save 명령으로 저장한 TAR 파일을 Docker 이미지로 복원하는 명령어입니다. 복원된 이미지는 일반적으로 다운로드한 이미지와 동일하게 사용할 수 있으며, 컨테이너 생성과 실행도 정상적으로 가능합니다.
이번 글에서는 Docker Image Load의 개념부터 기본 사용법, 압축 파일 복원, 여러 이미지 복원, 실무 활용 사례까지 자세히 알아보겠습니다.
Docker Image Load란 무엇인가?
Docker Image Load는 TAR 파일에 저장된 Docker 이미지를 로컬 Docker 환경으로 복원하는 명령어입니다.
복원된 이미지는 Docker Image 목록에 등록되며, 일반 이미지처럼 컨테이너 실행에 사용할 수 있습니다.
Docker Image Save와 함께 사용하는 대표적인 백업 및 복원 기능입니다.
Docker Image Load는 언제 사용하는가?
다음과 같은 상황에서 자주 사용됩니다.
- Docker 이미지 복원
- 서버 이전
- 오프라인 환경 구축
- 폐쇄망 서버 운영
- 이미지 백업 복구
- 재해 복구(DR)
인터넷 연결 없이 Docker 이미지를 사용할 때 매우 유용한 기능입니다.
Docker Image Load 기본 사용법
가장 기본적인 사용 방법입니다.
docker image load -i nginx.tar
또는 다음과 같이 사용할 수도 있습니다.
docker load -i nginx.tar
두 명령은 동일하게 동작합니다.
복원이 완료되면 다음과 같은 출력이 표시됩니다.
Loaded image: nginx:latest
이미지가 정상적으로 복원된 것입니다.
압축 파일 복원
gzip으로 압축한 파일도 쉽게 복원할 수 있습니다.
gunzip -c nginx.tar.gz | docker load
압축을 해제하면서 동시에 이미지를 복원합니다.
대용량 백업 파일에서 많이 사용하는 방법입니다.
여러 이미지 복원
여러 이미지를 하나의 TAR 파일에 저장한 경우에도 동일하게 복원할 수 있습니다.
docker image load -i backup-images.tar
모든 이미지가 한 번에 복원됩니다.
복원된 이미지 확인
이미지가 정상적으로 복원되었는지 확인합니다.
docker image ls
출력 예시는 다음과 같습니다.
REPOSITORY TAG
nginx latest
ubuntu 24.04
alpine latest
복원된 이미지가 목록에 표시됩니다.
복원 후 컨테이너 실행
복원한 이미지를 바로 사용할 수 있습니다.
docker run -d nginx
일반 이미지와 동일하게 컨테이너를 생성할 수 있습니다.
Docker Image Load의 특징
Docker Image Load는 다음과 같은 특징을 가지고 있습니다.
- TAR 파일 복원
- 여러 이미지 동시 복원
- 오프라인 환경 지원
- 이미지 태그 유지
- Docker Image Save와 완벽 호환
운영 환경의 백업 및 복구 작업에서 매우 중요한 기능입니다.
Docker Image Load 실무 활용 예제
Docker Image Load는 Docker Image Save로 백업한 이미지를 복원하는 명령어입니다. 인터넷이 없는 환경, 폐쇄망 서버, 재해 복구(DR), 서버 이전 작업에서 매우 자주 사용됩니다.
기본 이미지 복원
가장 기본적인 복원 방법입니다.
docker image load -i nginx.tar
출력 예시는 다음과 같습니다.
Loaded image: nginx:latest
이미지가 정상적으로 Docker에 등록됩니다.
여러 이미지 복원
하나의 TAR 파일에 여러 이미지를 저장한 경우입니다.
docker image load -i backup-images.tar
저장되어 있던 모든 이미지가 한 번에 복원됩니다.
압축된 이미지 복원
gzip으로 압축한 백업 파일도 복원할 수 있습니다.
gunzip -c nginx.tar.gz | docker load
압축 해제와 이미지 복원을 동시에 수행합니다.
복원된 이미지 확인
복원이 완료되면 이미지 목록을 확인합니다.
docker image ls
출력 예시는 다음과 같습니다.
REPOSITORY TAG
nginx latest
ubuntu 24.04
복원된 이미지가 정상적으로 등록된 것을 확인할 수 있습니다.
복원 후 컨테이너 실행
복원한 이미지를 이용하여 컨테이너를 실행합니다.
docker run -d --name nginx-server nginx
Docker Hub에서 다시 다운로드하지 않아도 바로 사용할 수 있습니다.
Linux 서버 문제 해결
인터넷이 연결되지 않은 폐쇄망 서버에서 Nginx 컨테이너를 실행해야 했습니다.
하지만 Docker Hub에 접속할 수 없어 다음과 같은 오류가 발생했습니다.
Error response from daemon:
pull access denied
인터넷이 연결된 개발 서버에서 이미지를 먼저 백업했습니다.
docker image save nginx -o nginx.tar
생성된 파일을 운영 서버로 복사했습니다.
scp nginx.tar admin@server:/backup/
운영 서버에서 이미지를 복원했습니다.
docker image load -i /backup/nginx.tar
복원이 완료된 후 컨테이너를 실행했습니다.
docker run -d nginx
인터넷 연결 없이도 정상적으로 서비스를 시작할 수 있었습니다.
Docker Image Load 사용 시 주의사항
Docker Image Load를 사용할 때는 다음 사항을 알아두는 것이 좋습니다.
첫 번째는 반드시 docker image save로 생성한 TAR 파일만 사용할 수 있습니다.
일반 TAR 파일은 복원할 수 없습니다.
두 번째는 이미지 태그와 Repository 정보가 그대로 유지됩니다.
따라서 원래 저장된 이름으로 사용할 수 있습니다.
세 번째는 동일한 이미지가 이미 존재하면 Docker가 중복 저장하지 않습니다.
불필요한 디스크 공간 낭비를 줄일 수 있습니다.
네 번째는 이미지는 복원되지만 실행 중이던 컨테이너는 함께 복원되지 않습니다.
컨테이너는 다시 생성해야 합니다.
Best Practice
Docker Image Load를 사용할 때는 다음과 같은 방법을 추천합니다.
- 백업 파일의 무결성을 정기적으로 확인합니다.
- 운영 환경에서는 버전별 TAR 파일을 관리합니다.
- 백업 후 테스트 서버에서 복원 테스트를 수행합니다.
- 이미지와 함께 Docker Compose 파일도 함께 백업합니다.
- 장기 보관 시에는 gzip으로 압축하여 저장합니다.
- 중요한 이미지는 별도의 백업 서버에도 보관합니다.
이러한 방법을 적용하면 장애 발생 시 빠르고 안정적인 복구가 가능합니다.
자주 묻는 질문
Docker Image Load와 Docker Import는 무엇이 다른가요?
Docker Image Load는 docker image save로 저장한 이미지를 복원합니다.
Docker Import는 TAR 파일에서 새로운 이미지를 생성하는 기능으로, 이미지 메타데이터가 유지되지 않습니다.
Docker Image Load는 기존 이미지를 덮어쓰나요?
동일한 이미지가 이미 존재하는 경우 Docker가 자동으로 관리하며 중복 저장하지 않습니다.
압축된 파일도 복원할 수 있나요?
가능합니다.
다음과 같이 사용할 수 있습니다.
gunzip -c backup.tar.gz | docker load
복원 후 바로 컨테이너를 실행할 수 있나요?
네.
복원이 완료되면 일반 이미지와 동일하게 docker run 명령으로 바로 사용할 수 있습니다.
마무리
Docker Image Load는 백업한 Docker 이미지를 손쉽게 복원할 수 있는 핵심 명령어입니다.
폐쇄망 환경, 서버 이전, 재해 복구, 오프라인 배포 등 다양한 운영 환경에서 활용되며, Docker Image Save와 함께 사용하면 인터넷 연결 없이도 동일한 Docker 환경을 빠르게 구축할 수 있습니다.
운영 환경에서는 정기적인 이미지 백업과 복원 테스트를 함께 수행하면 장애 발생 시 신속하고 안정적으로 서비스를 복구할 수 있습니다.