Docker commit
Contenido
Acerca del proyecto
En este post vamos a ver como mantener los cambios realizados en un contenedor ya al realizar modificaciones, agregar nuevos recursos o crear el contenedor con lo que necesitamos para el proyecto que estemos trabajando no pierda los cam se puerde el en el mismo, no quedanguardados y estos se eliminan despues de destruir el contenedor
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 |
---|---|
¿Qué es un contenedor? | Este post vamos a explicar ¿qué es un contenedor?, las principales características que posee adicionalmente vamos a ver porque docker usa contenedores en su estructura para poder trabajar. |
¿Qué es una imagen en docker? | Este pues vamos a explicar que es un contenedor y las principales características que posee adicionalmente vamos a ver porque docker usa contenedores en su estructura para poder trabajar. |
Docker hola mundo | En este post vamos a crear el primer ejemplo utilizando docker, vamos a ver los comandos docker que vamos a utilizar en los siguientes ejercicios con docker es lo que vamos a hacer es descargar nuestra primera imagen y vamos a hablar un poco sobre ella para entender el funcionamiento y aprender ya que con esta base de conocimiento vamos a trabajar en todo el curso. |
Ciclo de vida del contenedor docker | En este post vamos a ver el ciclo de vida del contenedor docker y las instrucciones básicas que necesitamos para poder ejecutar acciones en un contenedor, estos instrucciones normalmente son utilizadas para todo el ciclo de vida de un contenedor y básicamente nos permiten realizar diferentes acciones para los diferentes estados que puede manejar los contenedores como lo pueden ser crear, suspender, pausar, entre otros. los siguientes instrucciones que vamos a ver solamente se pueden ejecutar sobre un contenedor. |
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: update. El nombre de la imagen es ubuntu, y agrega la actualización de la etiqueta (ver Receta 2.6) para marcar la diferencia con ubuntu: última imagen:
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