Construir una imagen simple y ver su historial
En este paso, aprenderemos cómo construir una imagen simple de Docker y ver su historial. Construir una imagen de Docker implica crear un Dockerfile
, que es un archivo de texto que contiene todos los comandos que un usuario podría ejecutar en la línea de comandos para ensamblar una imagen.
Primero, navega al directorio ~/project
si no estás ya allí.
cd ~/project
Ahora, creemos un Dockerfile
simple. Crearemos un archivo llamado Dockerfile
en el directorio ~/project
.
nano Dockerfile
Agrega el siguiente contenido al Dockerfile
:
FROM ubuntu:latest
RUN echo "Hello, Docker!" > /app/hello.txt
CMD ["cat", "/app/hello.txt"]
Este Dockerfile
hace lo siguiente:
FROM ubuntu:latest
: Esta línea especifica la imagen base para nuestra nueva imagen. Estamos usando la última versión de la imagen Ubuntu de Docker Hub.
RUN echo "Hello, Docker!" > /app/hello.txt
: Esta línea ejecuta un comando durante el proceso de construcción de la imagen. Crea un directorio /app
y escribe el texto "Hello, Docker!" en un archivo llamado hello.txt
dentro de ese directorio.
CMD ["cat", "/app/hello.txt"]
: Esta línea especifica el comando predeterminado que se ejecutará cuando se inicie un contenedor a partir de esta imagen. Ejecutará el comando cat /app/hello.txt
, que imprimirá el contenido del archivo hello.txt
.
Guarda el archivo y sal del editor nano (Presiona Ctrl + X
, luego Y
, luego Enter
).
Ahora, construyamos la imagen de Docker usando el comando docker build
. Etiquetaremos la imagen con el nombre my-hello-image
y la etiqueta latest
. El .
al final del comando indica que el Dockerfile
se encuentra en el directorio actual.
docker build -t my-hello-image:latest .
Verás una salida que indica el proceso de construcción, mostrando cada paso que se ejecuta.
Después de que la imagen se haya construido, puedes ver el historial de la imagen usando el comando docker history
. Este comando muestra las capas que componen la imagen y los comandos que se usaron para crear cada capa.
docker history my-hello-image:latest
La salida mostrará una tabla con información sobre cada capa, incluyendo el ID de la capa, el comando utilizado, el tiempo de creación y el tamaño. Este historial es útil para entender cómo se construyó una imagen y para depurar problemas de construcción.