menu Menu

Cómo hacer backup de un Docker container

Desde línea de comando (CLI).

Desde línea de comando (CLI).

Sugiero este procedimiento para almacenar y resguardar un Docker container en una imagen, también es útil si se desea migrar el container, por ejemplo, a otra máquina host o a una virtual machine diferente.

1) Obtener el CONTAINER ID del contenedor que se desea resguardar:

$ docker container ls

Ejemplo de output:

CONTAINER ID   IMAGE                     COMMAND                  CREATED       STATUS       PORTS                      NAMES
327c5a36f181   n8nio/n8n:latest-debian   "/docker-entrypoint.…"   2 hours ago   Up 2 hours   127.0.0.1:5678->5678/tcp   n8n-docker-n8n-1

2) Crear commit local para generar docker image:

$ docker container commit -a "Gustavo Salvini <gsalvini@ecimtech.com>" -m "n8n is working really well now" CONTAINER_ID

3) Obtener el IMAGE ID:

$ docker image ls

Ejemplo de output:

REPOSITORY   TAG             IMAGE ID       CREATED          SIZE
<none>       <none>          dd398237d293   13 minutes ago   1.7GB
n8nio/n8n    latest-debian   b6af059e43af   28 hours ago     1.7GB

4) Copiar IMAGE_ID:

$ docker image save -o <saved_image_filename>.tar <IMAGE ID>

5) Comprimir <saved_image_filename>.tar

Parámetros opcionales:

  • -k : no elimina el archivo original (<filename>.tar).
  • -v : modo “verbose”, informa el porcentaje en la reducción de tamaño.
$ gzip -vk <saved_image_filename>.tar 

Con esto se va a crear el archivo <saved_image_filename>.tar.gz

Ejemplo:

$ gzip -vk 20220923-n8n-docker-ecimtech-PROD_v1.tar

Ejemplo de output:

20220923-n8n-docker-ecimtech-PROD_v1.tar:    64.1% -- created 20220923-n8n-docker-ecimtech-PROD_v1.tar.gz

6) Descargar y guardar en un lugar seguro el archivo descargardo <saved_image_filename>.tar.gz (por ejemplo por sftp)

development devops Docker Linux


Previous Next

Leave a comment or reply

keyboard_arrow_up