Tengo un contenedor con GlassFish. Cuando intenté cometer una imagen, se convirtió en 14 GB. Más tarde, eliminé /tmp/
en el contenedor que tenía 10 GB e intenté confirmar una imagen, pero aún así la imagen es de 14 GB. Parece que eliminar archivos del contenedor no se refleja en el tamaño de la imagen. ¿Cómo soluciono este problema?
12
glassfish
imagen oficial de Docker es de aproximadamente 1 GB. Si bien es bastante grande para una imagen de Docker, sigue siendo mucho más pequeña de lo que parece estar construyendo.Respuestas:
El problema que puede enfrentar es que eliminar archivos en una confirmación no cambia el hecho de que el archivo estaba allí en una imagen anterior, por lo que la imagen anterior sigue siendo 14G.
Eche un vistazo a la parte "Capas" en este artículo: http://woudenberg.io/reducing-docker-image-size/
Para resolver ese problema, debe eliminar las cosas debajo de / tmp / dentro de la confirmación original que las generó, por lo que la imagen creada como resultado de esa confirmación no las incluye. Eso es fácil cuando se usan dockerfiles pero no está seguro si es posible al crear imágenes con commits.
Otra cosa que puede hacer es aplastar capas exportando / importando la imagen.
fuente
Ampliando la respuesta de @Juan Antonio,
Dockerfile
hacer esto no ahorrará espacio:Lo que debes hacer en su lugar es:
En el lado negativo, esto significa menos almacenamiento en caché, ya que si algo cambia en esa línea de comando grande, Docker tendrá que volver a ejecutar todo el conjunto de comandos.
fuente