Compartir comentarios
Las respuestas se generan en base a la documentación.

docker image save

DescripciónGuarda una o más imágenes en un archivo tar (enviado a STDOUT por defecto)
Usodocker image save [OPTIONS] IMAGE [IMAGE...]
Alias
docker save

Descripción

Produce un repositorio empaquetado en tar en el flujo de salida estándar. Contiene todas las capas principales y todas las etiquetas + versiones, o el repo:tag especificado, para cada argumento proporcionado.

Opciones

OpciónPredeterminadoDescripción
-o, --outputEscribe en un archivo en lugar de STDOUT
--platformAPI 1.48+ Guarda solo la(s) plataforma(s) indicada(s). Formateado como una lista separada por comas de os[/arch[/variant]] (p. ej., linux/amd64,linux/arm64/v8)

Ejemplos

Crear un respaldo que luego se pueda usar con docker load.

$ docker save busybox > busybox.tar

$ ls -sh busybox.tar

2.7M busybox.tar

$ docker save --output busybox.tar busybox

$ ls -sh busybox.tar

2.7M busybox.tar

$ docker save -o fedora-all.tar fedora

$ docker save -o fedora-latest.tar fedora:latest

Guardar una imagen en un archivo tar.gz usando gzip

Puedes usar gzip para guardar el archivo de la imagen y hacer que el respaldo sea más pequeño.

$ docker save myimage:latest | gzip > myimage_latest.tar.gz

Seleccionar etiquetas específicas

Incluso puedes seleccionar etiquetas específicas de un repositorio de imágenes.

$ docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy

Guardar una plataforma específica (--platform)

La opción --platform te permite especificar qué variante de plataforma de la imagen guardar. Por defecto, docker save guarda todas las variantes de plataforma que están presentes en el almacén de imágenes del demonio. Usa la opción --platform para especificar qué variante de plataforma de la imagen deseas guardar. Se produce un error si la plataforma indicada no está presente en el almacén de imágenes local.

La opción de plataforma toma el formato os[/arch[/variant]]; por ejemplo, linux/amd64 o linux/arm64/v8. La arquitectura y la variante son opcionales y, si se omiten, toman por defecto la arquitectura nativa del demonio.

El siguiente ejemplo descarga la variante RISC-V de la imagen alpine:latest y la guarda en un archivo tar.

$ docker pull --platform=linux/riscv64 alpine:latest
latest: Pulling from library/alpine
8c4a05189a5f: Download complete
Digest: sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest

$ docker image save --platform=linux/riscv64 -o alpine-riscv.tar alpine:latest

$ ls -lh image.tar
-rw-------  1 thajeztah  staff   3.9M Oct  7 11:06 alpine-riscv.tar

El siguiente ejemplo intenta guardar una variante de plataforma de alpine:latest que no existe en el almacén de imágenes local, lo que resulta en un error.

$ docker image ls --tree
IMAGE                   ID             DISK USAGE   CONTENT SIZE   IN USE
alpine:latest           beefdbd8a1da       10.6MB         3.37MB
├─ linux/riscv64        80cde017a105       10.6MB         3.37MB
├─ linux/amd64          33735bd63cf8           0B             0B
├─ linux/arm/v6         50f635c8b04d           0B             0B
├─ linux/arm/v7         f2f82d424957           0B             0B
├─ linux/arm64/v8       9cee2b382fe2           0B             0B
├─ linux/386            b3e87f642f5c           0B             0B
├─ linux/ppc64le        c7a6800e3dc5           0B             0B
└─ linux/s390x          2b5b26e09ca2           0B             0B

$ docker image save --platform=linux/s390x -o alpine-s390x.tar alpine:latest
Error response from daemon: no suitable export target found for platform linux/s390x