Возник вопрос, когда я давал презентацию о Докере своей команде, что я не знал, как ответить.
Многие из предварительно сконфигурированных контейнеров на Docker Hub для всего лишь одного примера контейнера jboss/wildfly построены поверх контейнеров для конкретной ОС (Ubuntu, CentOS, и т.д.). Некоторые из этих контейнеров на самом деле не являются контейнерами для этих ОС.
Тем не менее Docker main raison d'etre, претендует на славу, в основе его утверждения о том, что он лучше технологий Virtual Machine, является то, что он легче потому что он не должен быть построен поверх ОС. Но если это так, и большинство контейнеров включают ОС, это ли это не приведет к нарушению цели и недействительной претензии?
Так что же такое в этих изображениях Docker для ОС и как еще можно претендовать на более легкий вес? Это какая-то урезанная версия ОС?
Можно ли сделать изображение Docker, которое не построено поверх ОС? Что определяет, когда приложение получает ОС-службы из ОС, встроенной в контейнер, в отличие от получения услуг ОС от хоста?