Guía paso a paso: Cómo restaurar una imagen Docker en tu servidor

Introducción

En el mundo de la administración de sistemas y el desarrollo de software, la tecnología de contenedores, especialmente Docker, se ha vuelto fundamental. Sin embargo, cuando se trata de migrar o replicar entornos, restaurar una imagen Docker puede resultar crucial. En esta guía, exploraremos de manera concisa y clara el proceso de restauración de una imagen Docker, desde la generación de la copia de seguridad hasta su implementación en un nuevo servidor. Espero que te sirva como me sirvió hace unos días a mi.

@maosuacal

Generar copia de la imagen docker

Paso 1: Detener el contenedor. Se debe detener el contenedor para evitar que se hagan cambios durante el proceso de generación de la imagen. Ejecutar el comando:

 

docker stop <nombre_del_contenedor>

 

Paso 2: Generar una imagen docker. El comando docker commit permite crear una copia del contenedor que hemos detenido. 

                             docker commit <nombre_del_contenedor> <nombre_nueva_imagen>

 

Paso 3:  Guardar la imagen en un archivo tar: Ahora salvaremos la imagen generada en un archivo con extensión tar.

                                docker save -o nombre_imagen.tar nombre_nueva_imagen

@maosuacal

Transferir la imagen al servidor destino

Paso 4: Transferir archivo tar. Podrás usar una herramienta como winscp , filezilla  o simplemente con el comando scp para mover tu archivo tar que contiene la imagen generada del contenedor.

                             scp nombre_imagen.tar usuario@nuevo_servidor:/ruta/destino       

@maosuacal

Restaurar la imagen en el nuevo servidor

Paso 5: Cargar la imagen docker. Después de pasar con cualquiera de los métodos descritos en el punto anterior vamos a cargar la imagen desde el archivo tar.

                             docker load -i nombre_imagen.tar


Paso 6: Ejecutar un nuevo contenedor.  Temiendo la imagen cargada en el nuevo servidor podrás ejecutar un nuevo contenedor utilizando dicha imagen.
Si quieres ver las imágenes que tienes cargadas en tu nuevo servidor podrás ejecutar el comando:

                             docker image ls

Te mostrará algo como:

                             REPOSITORY        TAG       IMAGE ID       CREATED      SIZE

                             imagen_pgadmin    1.0       82f22943c430   3 days ago   545MB

                             imagen_postgres   1.0       08114789fcd8   3 days ago   424MB

 

Si vas a ejecutar una imagen postgres a la que se van a conectar aplicaciones como pgadmin, deberás iniciar el contenedor dentro de una red. Primero tendremos que crear la red:

                              docker network create mired

 

Y ahora iniciaremos el contenedor

docker run –name postgres_db -e POSTGRES_PASSWORD=laclave -p 5445:5432 –network languis -d 08114789fcd8

 

donde: 

            –name: es el nombre del contenedor

            –network: nombre de la red

            -d: imageId

 

Paso 7: Confirmar que el contenedor se encuentra arriba. Con el comando docker ps podrás ver que contenedores se encuentran arriba.

 

Conclusión

En definitiva, trabajar con docker te permite mover tus aplicaciones y/o servicios de una forma muy fácil de un servidor a otro manteniendo la configuración inicial o que mas se ajuste a tus necesidades. Hay que tener mucho cuidado con el manejo de los volúmenes de datos, pero eso lo hablaremos en otra oportunidad.