docker image load

docker image load

tar 아카이브나 STDIN에서 이미지(또는 저장소)를 불러오는 명령이에요. docker image save로 저장한 이미지를 다시 불러올 때 사용해요. 별칭으로 docker load를 쓸 수 있어요.

출처: 문서

본문

docker image load는 tar 아카이브(gzip, bzip2, xz, zstd로 압축된 것 포함)에서 파일이나 STDIN으로 이미지 또는 저장소를 불러오는 명령이에요. 이미지와 태그를 모두 복원해요.

docker image load [OPTIONS]

지원하는 옵션은 다음과 같아요.

옵션 기본값 설명
-i, --input STDIN 대신 tar 아카이브 파일에서 읽기
--platform API 1.48+ 주어진 플랫폼만 로드. os[/arch[/variant]]의 쉼표 구분 목록 형식 (예: linux/amd64,linux/arm64/v8)
-q, --quiet 로드 출력 억제

기본 예시:

$ docker image ls

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

STDIN에서 이미지 불러오기

$ docker load < busybox.tar.gz

Loaded image: busybox:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              769b9341d937        7 weeks ago         2.489 MB

파일에서 이미지 불러오기 (--input)

$ docker load --input fedora.tar

Loaded image: fedora:rawhide
Loaded image: fedora:20

$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              769b9341d937        7 weeks ago         2.489 MB
fedora              rawhide             0d20aec6529d        7 weeks ago         387 MB
fedora              20                  58394af37342        7 weeks ago         385.5 MB
fedora              heisenbug           58394af37342        7 weeks ago         385.5 MB
fedora              latest              58394af37342        7 weeks ago         385.5 MB

특정 플랫폼 로드 (--platform)

--platform 옵션은 이미지의 어떤 플랫폼 변형을 로드할지 지정해요. 기본적으로 docker load는 아카이브에 있는 모든 플랫폼 변형을 로드해요. --platform 옵션으로 이미지의 어떤 플랫폼 변형을 로드할지 정할 수 있지만, 주어진 플랫폼이 아카이브에 없으면 오류가 발생해요.

플랫폼 옵션은 os[/arch[/variant]] 형식을 취해요. 예를 들어 linux/amd64 또는 linux/arm64/v8이에요. 아키텍처와 변형은 선택 사항이고, 생략하면 데몬 네이티브 아키텍처로 기본값을 정해요.

다음 예제는 여러 플랫폼 변형을 담고 있는 아카이브에서 alpine 이미지의 linux/amd64 변형을 로드해요.

$ docker image load -i image.tar --platform=linux/amd64
Loaded image: alpine:latest

다음 예제는 아카이브에서 linux/ppc64le 이미지를 로드하려 하지만, 주어진 플랫폼이 아카이브에 없어요.

$ docker image load -i image.tar --platform=linux/ppc64le
requested platform (linux/ppc64le) not found: image might be filtered out

더 알아보기