Explorar las capas de las imágenes de Docker
Comprender la estructura de las capas
Como se mencionó anteriormente, las imágenes de Docker están compuestas por múltiples capas, cada una de las cuales representa un cambio o modificación específica en la imagen. Estas capas se apilan una encima de la otra, creando la imagen final.
Ver las capas de una imagen
Puedes utilizar el comando docker image history para ver las capas de una imagen de Docker. Este comando proporciona información sobre cada capa, incluyendo el tamaño, la fecha de creación y el comando utilizado para crear la capa.
$ docker image history nginx:latest
IMAGE CREATED CREATED BY SIZE COMMENT
e1b5bf1aa7e6 3 weeks ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon... 0B
<missing> 3 weeks ago /bin/sh -c #(nop) EXPOSE 80 0B
<missing> 3 weeks ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
<missing> 3 weeks ago /bin/sh -c #(nop) VOLUME [/var/cache/nginx] 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:0fd5f7c8b2cb9173... 133MB
Esta salida muestra las capas de la imagen nginx:latest, incluyendo el tamaño, la fecha de creación y el comando utilizado para crear cada capa.
Inspeccionar las capas de una imagen
También puedes utilizar el comando docker image inspect para ver información detallada sobre una imagen de Docker, incluyendo sus capas. La salida de este comando incluye una sección RootFS que enumera las capas de la imagen.
$ docker image inspect nginx:latest
[
{
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e1b5bf1aa7e6a8e1a9e2d9a6d5a7f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5",
"sha256:e1b5bf1aa7e6a8e1a9e2d9a6d5a7f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5",
"sha256:e1b5bf1aa7e6a8e1a9e2d9a6d5a7f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5",
"sha256:e1b5bf1aa7e6a8e1a9e2d9a6d5a7f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5",
"sha256:e1b5bf1aa7e6a8e1a9e2d9a6d5a7f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5f6d7d5"
]
}
}
]
Esta salida muestra las capas de la imagen nginx:latest, identificadas por sus identificadores de capa únicos.
Caché de capas
Uno de los principales beneficios de la arquitectura en capas es la capacidad de almacenar en caché capas individuales. Cuando se construye una imagen, Docker almacena en caché las capas que no han cambiado, lo que puede acelerar significativamente el proceso de construcción. Esto es especialmente útil cuando se realizan cambios incrementales en tu aplicación y es necesario reconstruir la imagen.
Al comprender la estructura de las imágenes de Docker y el concepto de capas, puedes gestionar y optimizar eficazmente tus entornos contenerizados.