Я не специалист по ядру Windows, но немного разбираюсь в контейнерах Linux, поэтому отвечаю после прочтения документации по Windows
Docker - это инструмент для создания контейнеров Linux, что стало возможным благодаря двум функциям: добавлено cgroups (2.6.24) и Пространства имен (2.4.19) в ядре Linux в указанных версиях.
Другими словами, docker может быть запущен только на хосте Linux. Для запуска на любом другом хосте (Mac, Windows), Docker должен создать виртуальную машину, на которой будет работать ядро Linux, а затем запустить Docker поверх него. Вот действительно хорошее объяснение того, как контейнеры отличаются от гипервизоров - LXC против гипервизора
Однако Windows 10 добавляет поддержку пространств имен ядра и поддерживает контейнеры следующего типа: -
- Контейнеры Windows Server : аналогично контейнерам Linux, так как они используют пространства имен для изоляции программной среды. Контейнеры делят ядро с хостом.
- Изоляция Hyper-V : похоже, для «лучшей безопасности» Windows предоставляет виртуальную машину для каждого контейнера. Этот дизайн аналогичен тому, что докер уже имел в предыдущих версиях Windows.
Итак, чтобы ответить на ваш вопрос,
Что входит в состав контейнера Windows 10?
Windows добавила пространства имен и поддерживает Linux как контейнеры изначально, без необходимости использования гипервизора, то есть контейнеров, совместно использующих ядро с хостами
Зачем мне нужен Docker для Windows?
Создание контейнера самостоятельно - сложная задача. Вы должны правильно изолировать пространства имен и позаботиться о утечке ресурсов. Докер делает это проще для вас. Тем не менее, похоже, что Docker в Windows еще не поддерживает контейнеры непосредственно на хосте. Однако он может запускать ядро Windows на виртуальной машине и создавать контейнеры Windows поверх, что является новой функцией.
Опять же, у меня ограниченные знания о контейнерах Windows, надеюсь, у вас будет достаточно указателей для продолжения!