Introducción
Cuando se trabaja con imágenes y contenedores de Docker, una de las funciones básicas es realizar cambios en una imagen de Docker. Cuando te comprometes con los cambios, esencialmente creas una nueva imagen con una capa adicional que modifica la capa de la imagen base.
En este tutorial, aprenderá a realizar cambios en una imagen de Docker siguiendo nuestros sencillos ejemplos.
Requisitos previos
- Acceso a una línea de comandos/ventana de terminal (Ctrl +Alt +T )
- Una cuenta de usuario con root o sudo privilegios
- Docker instalado y configurado
Pasos para realizar cambios en la imagen de Docker
Paso 1:extraer una imagen de Docker
Para ilustrar cómo realizar cambios, primero debe tener una imagen con la que trabajar. En este artículo, trabajamos con la última imagen de Ubuntu para Docker. Descarga la imagen de la biblioteca de Docker con:
sudo docker pull ubuntu
Si vuelve a comprobar las imágenes disponibles, verá la imagen de Ubuntu:
sudo docker images
Copiar ID DE IMAGEN para uso posterior.
Paso 2:implementar el contenedor
Agrega el ID DE LA IMAGEN al comando que creará un contenedor basado en la imagen:
sudo docker run -it cf0f3ca922e0 bin/bash
El –it
opciones indican al contenedor que se inicie en interactivo modo y habilite un tecleo terminal interfaz. Al ejecutar el comando, se abre un nuevo contenedor y lo mueve a un nuevo indicador de shell para trabajar dentro de él.
Paso 3:Modificar el Contenedor
Ahora que está en el contenedor, puede modificar la imagen. En el siguiente ejemplo, agregamos el software Nmap para el descubrimiento de redes y la auditoría de seguridad:
apt-get install nmap
El comando descargará el paquete Nmap y lo instalará dentro del contenedor en ejecución.
Puede verificar la instalación ejecutando:
nmap --version
El resultado muestra que Nmap versión 7.60 está instalado y listo para usar.
Una vez que termine de modificar el nuevo contenedor, salga de él:
exit
Solicite al sistema que muestre una lista de contenedores lanzados:
sudo docker ps -a
Necesitará el ID DEL CONTENEDOR para guardar los cambios realizados en la imagen existente. Copie el valor de ID de la salida.
Paso 4:Confirmar cambios en la imagen
Finalmente, crea una nueva imagen confirmando los cambios usando la siguiente sintaxis:
sudo docker commit [CONTAINER_ID] [new_image_name]
Por tanto, en nuestro ejemplo será:
sudo docker commit deddd39fa163 ubuntu-nmap
Donde deddd39fa163
es el ID DEL CONTENEDOR y ubuntu-nmap
es el nombre de la nueva imagen.
Su imagen recién creada ahora debería estar disponible en la lista de imágenes locales. Puede verificar revisando la lista de imágenes nuevamente:
sudo docker images