Exportación e importación de imágenes Docker con comandos CLI

Clase 16 de 19Curso de Docker: Fundamentos

Resumen

Vivimos en una época llena de innovaciones tecnológicas, en especial relacionadas con el desarrollo de software y administración de infraestructura. A menudo encontramos situaciones en las que necesitamos transferir imágenes Docker localmente, sin depender de Docker Hub o limitados por conexiones de red restringidas. Afortunadamente, dos comandos esenciales simplifican esta tarea: Docker Save y Docker Load.

¿Cuándo y por qué utilizar Docker Save para exportar imágenes?

Puede haber ocasiones en las que compartir una imagen Docker a través de redes es complicado o simplemente imposible debido a restricciones organizacionales o limitaciones de ancho de banda. Algunas razones típicas incluyen:

  • Protocolos de red en organizaciones que impiden la transferencia de imágenes.
  • Ancho de banda insuficiente o demasiado lento.
  • Deseo de transferir imágenes utilizando dispositivos externos como memorias USB.

Con el comando docker save, puedes exportar fácilmente una imagen a un archivo, facilitando su traslado físico:

docker save AminEspinosa/link3 > link3.rar

Este comando genera un archivo comprimido con todos los componentes de la imagen de Docker listos para transportar y compartir fácilmente.

¿Qué información incluye el archivo exportado tras utilizar Docker Save?

Al exportar imágenes Docker mediante docker save, el archivo resultante contiene varias estructuras que aseguran mantener un historial preciso de versiones y modificaciones aplicadas previamente:

  • Un archivo version que indica las diferentes versiones incluidas.
  • Un archivo manifest.json donde se especifican capas (layers) que representan cambios puntuales realizados a la imagen con anterioridad.

Cada capa identificada representa un punto específico en el tiempo que registra cambios, como nuevas librerías o modificaciones generales, creando así un archivo minuciosamente versátil y completo.

¿Cómo cargar nuevamente una imagen Docker con Docker Load?

Una vez exportada una imagen, cargarla nuevamente en Docker es igual de sencillo. Para importar la imagen con docker load, solo debes ejecutar la siguiente instrucción:

docker load --input link3.rar

Este comando restaurará la imagen empaquetada previamente y la visualizarás fácilmente listada dentro de Docker Desktop o escribiendo en terminal:

docker images

Resulta relevante mencionar que no es obligatorio contar con Docker Desktop ejecutándose en segundo plano para realizar satisfactoriamente esta operación desde la terminal.

Cuéntanos tu experiencia utilizando estos comandos. ¿Has enfrentado situaciones similares con limitaciones de red o transferencia local de imágenes Docker?