library - ¿Cuál es la relación entre el sistema operativo del host Docker y el SO de la imagen base del contenedor?
dockers images (2)
No estoy seguro de estar haciendo la pregunta correcta ... pero mientras he estado leyendo todo el acoplador que tengo en mis manos veo que puedo instalar Docker en Ubuntu 12.04 (por ejemplo) y luego puedo instalarlo un contenedor de Fedora o una versión diferente de ubuntu? (hay un ejemplo donde el usuario instaló busybox en el contenedor).
Y, por supuesto, podría estar completamente equivocado.
Pero sería mi expectativa que hubiera una conexión efímera entre el sistema base y el contenedor.
replanteado: ¿cuál es la relación entre el sistema operativo host y el sistema operativo de la imagen base del contenedor?
Como mencionó BraveNewCurrency, la única relación entre el sistema operativo host y el contenedor es Kernel.
Es una de las principales diferencias entre las máquinas virtuales "docker" y "regulares", no hay sobrecarga, todo tiene lugar directamente dentro del kernel del host.
Esta es la razón por la que puede ejecutar solo distribución / binarios basados en Linux dentro del contenedor. Si desea ejecutar otra cosa, no es imposible, pero necesitaría algún tipo de virtualización dentro del contenedor (qemu, kvm, etc.)
Docker administra imágenes que son la representación del sistema de archivos. Puede instalar cualquier distribución de Linux o simplemente poner binarios.
De hecho, para la conveniencia del ejemplo, a menudo confiamos en las imágenes base, pero también puede crear su imagen sin ninguna de las bibliotecas / binarios de distribución. De esa forma tendrías un contenedor realmente pequeño pero funcional.
Un punto más con respecto a las distribuciones: como el kernel sigue siendo el kernel del host, no tendrá ningún módulo / parche del kernel específico provisto por la distribución.
Literalmente, lo único que tienen en común es el kernel. Su mundo entero (sistema de archivos) está en el contenedor de docker.