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.
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
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.