Guardar múltiples imágenes en un archivo tar
En el paso anterior, aprendiste cómo guardar una sola imagen de Docker. En este paso, aprenderás cómo guardar múltiples imágenes de Docker en un solo archivo de archivo tar. Esto es conveniente cuando necesitas agrupar varias imágenes juntas para su distribución o copia de seguridad.
Primero, vamos a descargar otra imagen de Docker para tener más de una imagen que guardar. Descargaremos la imagen alpine
, que es una distribución Linux ligera.
docker pull alpine
Deberías ver una salida que indique que la imagen alpine
se está descargando.
Using default tag: latest
latest: Pulling from library/alpine
...
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
Ahora tienes tanto la imagen hello-world
como la imagen alpine
localmente. Puedes verificar esto listando tus imágenes locales:
docker images
La salida debería mostrar tanto hello-world
como alpine
en la lista.
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest ... ... ...
alpine latest ... ... ...
Para guardar múltiples imágenes en un solo archivo tar, simplemente enumera los nombres de las imágenes después del nombre del archivo de salida en el comando docker save
. La sintaxis es docker save -o <output_file.tar> <image1_name> <image2_name> ...
.
Guardaremos tanto la imagen hello-world
como la imagen alpine
en un archivo llamado images.tar
en tu directorio ~/project
.
docker save -o images.tar hello-world alpine
Después de ejecutar este comando, se creará un archivo llamado images.tar
en tu directorio ~/project
. Este archivo contiene tanto la imagen de Docker hello-world
como la imagen alpine
.
Puedes verificar que se haya creado el archivo y comprobar su tamaño utilizando el comando ls -lh
. El tamaño será mayor que el archivo hello-world.tar
del paso anterior porque contiene dos imágenes.
ls -lh images.tar
Deberías ver una salida similar a esta:
-rw-r--r-- 1 labex labex ... images.tar
Para confirmar que ambas imágenes se incluyen en el archivo, puedes listar el contenido del archivo tar utilizando el comando tar -tf
.
tar -tf images.tar
La salida debería mostrar archivos relacionados con ambas imágenes, incluyendo sus manifiestos y datos de capas. Deberías ver entradas como hello-world/
y alpine/
.
...
hello-world/
hello-world/manifest.json
...
alpine/
alpine/manifest.json
...
Este único archivo tar ahora se puede utilizar para cargar ambas imágenes en otro sistema utilizando docker load
.