Imágenes de Docker que no contienen un administrador de paquetes

Imágenes de Docker que no contienen un administrador de paquetes

Normalmente pienso en los contenedores acoplables como procesos ejecutables que llevan consigo pequeños fragmentos de "entorno", de modo que no es necesario instalar nada en el host acoplable. Por ejemplo, un jar java junto con un jre.

Para instalar jre, podríamos comenzar con una caja base de ubuntu y luego usar aptitude para instalarlo. Sin embargo, aunque efectivamente necesitamos un administrador de paquetes para configurar las dependencias (un jre, en este caso) para nuestra aplicación, no creo que sea estrictamente necesario para ejecutar nuestra aplicación.

Lo que plantea una pregunta que está demasiado metida en la madriguera del conejo para ser de preocupación práctica, pero sigue siendo una curiosidad intelectual: ¿Es factible instalar dependencias en una imagen de Docker, sin incluir también el administrador de paquetes en la imagen construida?

Al investigar cómo se podría lograr esto para los chroots, parece difícil o imposible. A primera vista, este desafío parece solucionable (por ejemplo, si construyo una aplicación java con gradle o maven, no tengo que incluir el binario gradle o maven en mi programa publicado), por lo que también tengo curiosidad por saber por qué parece no tener una solución fácil. ¿Alguien está trabajando en el problema de instalar dependencias en una imagen de Docker (o en un chroot, para el caso)? ¿Si no, porque no?

(La soluciónaquíy solución 2 deaquíRequiere instalar un administrador de paquetes en un chroot, lo que no responde a mi pregunta de cómo sacar el administrador de paquetes de la imagen de la ventana acoplable. La solución 1 de la segunda trata sobre la construcción desde la fuente (¿creo?), que tampoco es exactamente lo que estoy buscando).

información relacionada