Projects, Research, Design & Development in pursuit of Innovation, by Gustavo Adrián Salvini.
By Gustavo Salvini Posted in Development, Español on September 23, 2022
Image by pressfoto on Freepik.
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
Code language: Bash (bash)
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
Code language: plaintext (plaintext)
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
Code language: Bash (bash)
3) Obtener el ID de la imagen:
docker image ls
Code language: Bash (bash)
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
Code language: plaintext (plaintext)
4) Copiar IMAGE_ID:
docker image save -o <saved_image_filename>.tar <IMAGE ID>
Code language: Bash (bash)
5) Comprimir <saved_image_filename>.tar
Parámetros opcionales:
gzip -vk <saved_image_filename>.tar
Code language: Bash (bash)
Con esto se va a crear el archivo <saved_image_filename>.tar.gz
Ejemplo:
gzip -vk 20220923-n8n-docker-ecimtech-PROD_v1.tar
Code language: Bash (bash)
Ejemplo de output:
20220923-n8n-docker-ecimtech-PROD_v1.tar: 64.1% -- created 20220923-n8n-docker-ecimtech-PROD_v1.tar.gz
Code language: plaintext (plaintext)
6) Descargar y guardar en un lugar seguro el archivo descargardo <saved_image_filename>.tar.gz (por ejemplo por sftp)
Sumamente útil! Gracias por el post!