Confirmar un contenedor en una nueva imagen
En este paso, aprenderá cómo confirmar los cambios realizados dentro de un contenedor en ejecución en una nueva imagen de Docker. Esto es útil cuando desea guardar el estado de un contenedor después de realizar modificaciones, como instalar software o configurar archivos.
Primero, ejecutemos un simple contenedor de Ubuntu. Utilizaremos la imagen ubuntu
. Dado que realizaremos cambios dentro del contenedor, necesitamos ejecutarlo de forma interactiva con una pseudo-TTY.
docker run -it ubuntu
Ahora debería estar dentro del shell del contenedor de Ubuntu. Hagamos un cambio simple, como instalar el paquete curl
.
apt-get update
apt-get install -y curl
Después de que se complete la instalación, salga del shell del contenedor escribiendo exit
.
exit
Ahora que ha salido del contenedor, los cambios que realizó (instalar curl
) todavía están presentes en esa instancia específica del contenedor. Para guardar estos cambios como una nueva imagen, debe confirmar el contenedor.
Primero, encuentre el ID del contenedor que acaba de salir. Puede usar el comando docker ps -a
para listar todos los contenedores, incluyendo aquellos que se han detenido.
docker ps -a
Busque el contenedor que se creó a partir de la imagen ubuntu
y anote su CONTAINER ID
.
Ahora, use el comando docker commit
para crear una nueva imagen a partir de este contenedor. La sintaxis básica es docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
. Confirmaremos el contenedor y le daremos un nombre y una etiqueta a la nueva imagen. Reemplace <CONTAINER_ID>
con el ID real que encontró.
docker commit < CONTAINER_ID > my-ubuntu-with-curl:v1
Este comando crea una nueva imagen llamada my-ubuntu-with-curl
con la etiqueta v1
. Puede verificar que se ha creado la nueva imagen listando sus imágenes locales.
docker images
Debería ver my-ubuntu-with-curl
en la lista de imágenes. Esta nueva imagen ahora incluye el paquete curl
que instaló en el contenedor.