
Leí en alguna parte hace quizás un año que el uso de contenedores Docker hace que un servidor sea más estable, porque el contenedor fallará en lugar del sistema operativo host debido a una aplicación que no funciona correctamente.
Por lo que yo sé,las aplicaciones no pueden bloquear un sistema operativo por sí solas, necesitan algún error en el kernel, controlador o hardware para hacerlo.
¿La virtualización de Docker evita fallos del sistema operativo host?
Respuesta1
La virtualización no previene fallas del sistema operativo host, pero puede ayudar a reducir el factor de riesgo.
Docker no es más que una interfaz que traduce las llamadas al sistema desde el programa virtualizado al sistema operativo host. Por lo tanto, una o una combinación de llamadas aún pueden encontrar un error en el sistema operativo y bloquearlo.
De este modo, Docker es más propenso a causar este tipo de problemas que las máquinas virtuales clásicas, ya que el programa virtualizado está menos aislado en Docker, aunque la probabilidad de que esto suceda en Docker es quizás algo menor que cuando se ejecuta directamente en el sistema operativo, porque las llamadas van a través de dos interfaces en lugar de una, por lo que se comprueban dos veces.
Docker impone algunos límites al programa virtualizado, como la RAM y la CPU máximas, lo que puede ayudar a evitar fallas del sistema debido a la sobrecarga y la saturación de recursos. También oculta el sistema de archivos del host del programa virtualizado (siempre son posibles excepciones), evitando así su corrupción por parte del programa.