tag run library hub dockers container compose docker dockerfile squash

run - docker-compose



¿Cómo funciona el nuevo Docker--squash? (1)

En Docker 1.13, se agregó el nuevo parámetro --squash .

Ahora espero reducir el tamaño de mis imágenes y poder "ocultar" los archivos secretos que tengo en mis capas.

A continuación puede ver la diferencia de hacer una compilación con y sin el parámetro --squash.

Sin calabaza

Con Squash

Ahora a mi pregunta.

Si agrego un archivo secreto en mi primera capa, entonces uso el archivo secreto en mi segunda capa, y finalmente elimino mi archivo secreto en la tercera capa, y luego construyo con la bandera --squash.

¿Habrá alguna forma ahora de obtener el archivo secreto?


Si agrego un archivo secreto en mi primera capa, entonces uso el archivo secreto en mi segunda capa, y finalmente elimino mi archivo secreto en la tercera capa, y luego construyo con la bandera --squash.

¿Habrá alguna forma ahora de obtener el archivo secreto?

Respuesta: su imagen no tendrá el archivo secreto.

Cómo funciona --squash funciona:

Una vez que se completa la compilación, Docker crea una nueva imagen que carga los difs de cada capa en una sola capa nueva y hace referencia a todas las capas principales.

En otras palabras: al aplastar, Docker tomará todas las capas del sistema de archivos producidas por una construcción y las colapsará en una sola capa nueva.

Esto puede simplificar el proceso de creación de imágenes de contenedor mínimas, pero puede generar una sobrecarga ligeramente mayor cuando se mueven las imágenes (porque las capas aplastadas ya no se pueden compartir entre las imágenes). Docker todavía almacena en caché capas individuales para hacer construcciones posteriores de forma rápida.

Tenga en cuenta que esta característica aplasta todas las capas recién construidas en una sola capa, no se aplasta al rayar.

Notas al margen:

Docker 1.13 también tiene soporte para comprimir el contexto de compilación que se envía desde CLI a daemon utilizando el indicador --compress . Esto acelerará las compilaciones hechas en daemons remotos al reducir la cantidad de datos enviados.

Tenga en cuenta a partir de Docker 1.13 esta característica es experimental.