¿Qué son las imágenes Docker distroless? (imágenes Docker sin distribución)

Un de las preocupaciones de las imágenes Docker generadas es su tamaño (y se seguridad).

Para acotar el espacio una buena aproximación es usar distribuciones ligeras como Alpine Linux, pero hay otra opción que es generar “imágenes Docker distroless”.

Este tipo de imágenes reducen el tamaño y las dependencias suprimiendo las distribuciones de sistemas operativos completos. Esta además de generar imágenes más pequeñas reduce el ruido en los escaneos de seguridad.

Google por su parte ha publicado un conjunto de imágenes sin distribución para diferentes lenguajes que podéis encontrar en este repo github: https://github.com/GoogleContainerTools/distroless

Ellos dan estos datos:

“Distroless images are very small. The smallest distroless image, gcr.io/distroless/static-debian11, is around 2 MiB. That’s about 50% of the size of alpine (~5 MiB), and less than 2% of the size of debian (124 MiB).”

Google usa su herramienta Bazel (pendiente un post dedicado a Bazel) para generar estas imágenes, aunque se pueden hacer simplemente usando Dockerfiles multistage como en este ejemplo:

Hay que tener en cuenta que los contenedores sin distribución no tienen un intérprete de comandos (shell) para depurar, aunque se pueden encontrar imágenes que usan BusyBox como intérprete de comandos.

Otras voces como las de Red Hat no están muy de acuerdo con esta aproximación y proponen su Red Hat Universal Base Image Micro como solución (claro! 😃 ):

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s