Docker commit


Si queremos persistir los cambios realizados en un contenedor, podemos hacer uso del comando commit, este permite crear una nueva imagen a partir del contenedor

oscar Escrito por oscar 20 February 2021 3723 0

Contenido

Acerca del proyecto

En este post vamos a aprender a como mantener los cambios realizados en un contenedor. Al realizar modificaciones y agregar nuevos recursos o crear el contenedor con lo que necesitamos para el proyecto, ya que se pierde la información por que el contenedor es efímero, para que no se pierdan los cambios usaremos el comando commit que nos ayudaran a crear nuevas capas a un contenedor creando una imagen nueva.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
Introducción docker Iniciamos con docker, donde conoceremos los temas que vamos a trabajar en este curso, aprenderemos a usar este gestor de contenedores con todas sus funcionalidades, ademas realizaremos ejercicios prácticos para reforzar el conocimiento aprendido.
¿Qué es docker? ¿Qué es docker?, es una plataforma que permite crear e implementar aplicaciones rápidamente. En este post aprenderás a detalle la definición, sus características y la diferencia con las tecnologías de aplicaciones tradicionales.
¿Qué es un contenedor? ¿Qué es un contenedor de docker?, lo podemos definir como una forma de limitar los recursos para una aplicación, donde solo va a contener sus librerías, configuraciones, entre otros. En este post explicamos a detalle los contenedores.
¿Qué es una imagen en docker? ¿Qué es una imagen en docker?, es un archivo compuesto por múltiples capas, que se utiliza para ejecutar código en un contenedor de docker. En este post aprenderás la definición y como usar las imagenes para crear contenedores.
Ciclo de vida del contenedor docker Aprenderás el ciclo de vida del contenedor en docker y los comandos básicos para poder ejecutar acciones sobre un contenedor. Estos comandos son utilizados en todo el ciclo de vida del contenedor y permiten realizar diferentes acciones para cada estados que puede tener el contenedor.
Docker comandos básicos Vamos a ver los comandos con los que podemos crear, gestionar e ingresar a la terminal bash de un contenedor, estos comandos son útiles y necesarios para poder realizar los ejemplos que tiene este curso, así que es muy importante que los aprendas.

commit

Puede ser útil confirmar los cambios o la configuración de un contenedor en una nueva imagen. Esto le permite depurar un contenedor ejecutando un shell interactivo o exportar un conjunto de datos de trabajo a otro servidor. Generalmente, es mejor usar Dockerfiles para administrar sus imágenes de una manera documentada y mantenible.[1]

Después de realizar algunos cambios dentro de un contenedor, decide que le gustaría conservar esos cambios. No desea perder esos cambios después de salir o detener el contenedor y le gustaría reutilizar este tipo de contenedor como base para otros.

Ejemplo

Iniciemos un contenedor con un shell bash interactivo y actualicemos los paquetes que contiene:

C:\code>docker run -t -i ubuntu /bin/bash
root@5c7f1a275729:/# apt-get update

Cuando sale del contenedor, deja de ejecutarse, pero todavía está disponible hasta que lo elimine por completo con docker rm. Entonces, antes de hacer esto, puede confirmar los cambios realizados en el contenedor y crear una nueva imagen ubuntu. Agregue un nuevo nombre a la imagen de ubuntu y coloque la actualización de la etiqueta para marcar la diferencia con ubuntu.

C:\code>docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
5c7f1a275729        ubuntu              "/bin/bash"         3 minutes ago       Up 3 minutes                            strange_zhukovsky

C:\code>docker commit 5c7f1a275729 ubuntu:update
sha256:beb9e7c8bc2cd9830df68ebf448efc530061a12cc36b5eda0149349bbfea51e7

C:\code>

Ahora puede eliminar de forma segura el contenedor detenido y podrá iniciar uno nuevo basado en ubuntu: imagen de actualización.

Referencias

[1] https://docs.docker.com/engine/reference/commandline/commit/, Consultado Febrero 2021


Comentario

Debe aceptar antes de enviar