Método definitivo para determinar si un contenedor utiliza un paquete de servidor o el suyo propio

Método definitivo para determinar si un contenedor utiliza un paquete de servidor o el suyo propio

Mi comprensión de la contenedorización es limitada, por lo que es posible que esta pregunta sea equivocada, pero sé con certeza que los contenedores Docker utilizan algunos recursos del kernel de su sistema host para seguir siendo relativamente livianos. Hasta donde yo sé, esto puede extenderse a paquetes distribuidos del sistema operativo (por ejemplo, binutils).

Suponiendo que no me equivoco al pensar que los contenedores acoplables tienen la capacidad de utilizar paquetes proporcionados por el host, ¿existe una forma estándar de enumerar todos esos paquetes que el contenedor pretende/espera encontrar en un servidor determinado cuando está alojado en él?

Respuesta1

Sé con certeza que los contenedores Docker utilizan algunos recursos del kernel de su sistema host para seguir siendo relativamente livianos.

Sí, los contenedores comparten el kernel del host.

Hasta donde yo sé, esto puede extenderse a paquetes distribuidos del sistema operativo (por ejemplo, binutils).

Élpoder, pero es extremadamente inusual y requiere configuración manual fuera del contenedor; básicamente, necesita montar un volumen desde el host, permitiendo que el contenedor acceda a las partes relevantes de su(s) sistema(s) de archivos.

En la gran mayoría de los casos, las partes del espacio de usuario de los contenedores están completamente separadas del host. No existe una forma estándar de enumerar los paquetes que el contenedor espera encontrar en el host, porque los contenedores normalmente no tienen esa expectativa y no hay manera de que declaren dichas expectativas. Si se encuentra con un contenedor de este tipo, la documentación debería informarle al respecto y si tiene un descriptor de implementación de algún tipo (p.ejun gráfico de Helm para Kubernetes), incluirá los volúmenes y puntos de montaje necesarios (pero eso no le dirá qué necesita del host).

Los contenedores son realmente independientes del host: se ejecutan en cualquier sistema con el tiempo de ejecución de contenedor adecuado y el host puede usar cualquier sistema de paquetes que desee, o incluso ninguno. Entonces los contenedores ni siquiera tienen los conceptos necesarios para requerir un paquete del host; Iría en contra de algunos de los principios fundamentales detrás de los contenedores.

información relacionada