Виртуализация не предотвращает сбои ОС, но может помочь снизить фактор риска.
Docker - это не что иное, как интерфейс, который переводит системные вызовы из виртуализированной программы в хост-ОС. Поэтому один или несколько вызовов могут по-прежнему вызывать ошибку ОС и вызывать ее сбой.
Таким образом, Docker более склонен вызывать такие проблемы, чем классические виртуальные машины, поскольку виртуализированная программа менее изолирована в Docker, хотя вероятность этого в Docker может быть несколько ниже, чем при запуске непосредственно в ОС, поскольку вызовы через два интерфейса, а не один и так вдвойне проверяются.
Docker накладывает некоторые ограничения на виртуализированную программу, такие как максимальный объем ОЗУ и ЦП, что может помочь избежать сбоев системы из-за перегрузки и насыщения ресурсов.
Он также скрывает файловую систему хоста от виртуализированной программы (исключения всегда возможны), поэтому избегает ее повреждения программой.