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, ahora puede ver la diferencia de hacer una compilación con y sin el parámetro --squash.
sin calabaza
con calabaza
Ahora a mi pregunta.
Si agrego un archivo secreto en mi primera capa, luego uso el archivo secreto en mi segunda capa, y finalmente elimino mi archivo secreto en la tercera capa, y luego construyo con el indicador --squash.
¿Habrá alguna forma ahora de obtener el archivo secreto?
Si agrego un archivo secreto en mi primera capa, luego uso el archivo secreto en mi segunda capa, y finalmente elimino mi archivo secreto en la tercera capa, y luego construyo con el indicador --squash.
¿Habrá alguna forma ahora de obtener el archivo secreto?
Respuesta: Su imagen no tendrá el archivo secreto.
Cómo funciona --squash :
Una vez que se completa la compilación, Docker crea una nueva imagen cargando las diferencias 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 compilació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 las imágenes se mueven (porque las capas aplastadas ya no se pueden compartir entre imágenes). Docker aún almacena en caché capas individuales para acelerar las compilaciones posteriores.
Tenga en cuenta que esta característica aplasta todas las capas recién construidas en una sola capa, no es aplastar para rayar.
Notas al margen:
Docker 1.13 también tiene soporte para comprimir el contexto de compilación que se envía desde la CLI al daemon usando el indicador --compress . Esto acelerará las compilaciones realizadas en demonios remotos al reducir la cantidad de datos enviados.
Tenga en cuenta que, a partir de Docker 1.13, esta característica es experimental.