Copia y restauración de un Docker
#1
Hola

Vamos a ver como hacer copias de seguridad de un docker para poder restaurarlo o bien valen para trasladarlo a otra nas (depende de la versión del paquete del docker).
Estamos suponiendo que en la definición del docker tenemos carpetas persistentes que van a una carpeta compartida de la nas.

Como vamos a hacer todas las operaciones en ella, vamos a la consola y nos situamos en la carpeta compartida que contiene las persistentes de nuestros contenedores.
Código:
cd  /share/DockerData

Para hacer copia de un docker, primero hemos de pararlo para que no haya archivos usándose.
Código:
docker stop mi_contenedor

Ahora hacemos una compresión de la carpeta persistente del contenedor (que no tiene porqué coincidir con el nombre del contenedor)
Código:
tar -zvcf nombre_contenedor.tar.ga nombre_carpeta_persistente
Con esto se nos generará un archivo comprimido con los datos de la carpeta persistente en la carpeta compartida /share/DockerData

Ese archivo es nuestra copia de seguridad que podemos guardar en otra ubicación segura. Si vamos a ir manteniendo mas de uno, recomiendo poner en el nombre la fecha de la copia.
Ahora arrancaremos de nuevo el contenedor para dejarlo tal cual estaba antes de la copia.
Código:
docker start mi_contenedor


Restauración
Ahora vamos a ver los pasos para restaurar el contenedor completo.

Digo completo ya que en los contenedores de base de datos, puede ser que no nos interese hacerlo así.
Me explico, una base de datos puede atender a varios servicios simultaneamente.
Por ejemplo a un NextCloud, a un OwnCloud, a una galería de fotos Coppermine, a un SeaFile, a....
Si restauramos TODO el contenedora de la BBDD, afectamos a todo los servicios que la usan.
Por eso en otro hilo expliqué como hacerlo con una pareja de contenedores relacionados entre ellos, una base de datos PostgreSQL y un NextCloud.
En ese hilo a nivel de base de datos, sólo trabajo con lo que afecta a NextCloud y no a otros servicios que pudiesen estar en la BBDD.

En nuestra caso vamos a restaurarlo completo necesitamos tener el contenedor y su carpeta persistente operativos.
Si fuese el caso de la nas no lo tiene, deberemos crear el contenedor con los mismos parámetros que lo hicimos en su día. Esto se hace para evitar el tema de posibles problemas con los versionados del contenedor que pueden afectar a su estructura.

Lo primero que haremos es ir a la carpeta compartida donde están nuestros datos persistentes (DockerData en el caso del ejemplo)

Código:
cd /share/DockerData

ahora detenemos el contenedor
Código:
docker stop mi_contenedor
Ahora borramos el contenido de la carpeta persistente de ese contenedor.
No tiene porqué coincidir con el nombre de nuestro contenedor. Lo podemos ver fácilmente en la cadena de definición del contenedor o incluso usando Portatiner para ver la propiedades del contendor que vamos a resturar.

Código:
rm -Rf /share/DockerData/nombre_carpeta_persistente

Ahora descomprimimos el archivo de copia de seguridad que hemos dejado previamente en /share/DockerData
Código:
tar -xzvf nombre_contenedor.tar.gz

A ahora simplemente arrancamos el contenedor
Código:
docker start mi_contenedor

Y con eso ya hemos recuperado y activado el contenedor.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be) Ʀɐɯ0η
  Responder




Usuarios navegando en este tema: 1 invitado(s)