Как может контейнер Linux работать в Windows без виртуальной машины Linux (т. Е. Встроенная поддержка) - PullRequest
0 голосов
/ 19 февраля 2019

Из того, что я понимаю, контейнер включает в себя все зависимости для запуска, но все контейнеры, работающие на одной и той же платформе, будь то виртуальная машина или голое железо, будут совместно использовать основное ядро.что для запуска контейнеров linux на windows клиент Docker раскручивает виртуальную машину на основе linux и запускает контейнер в ней.

Но теперь я вижу, что Docker для Windows запускает контейнеры linux изначально (т.е. без гипер-v).

Мой вопрос таков: как образ, созданный для работы в Linux, может работать в системе с ядром Windows?

Это исходный источник, из которого возник мой вопрос:

https://www.hanselman.com/blog/DockerAndLinuxContainersOnWindowsWithOrWithoutHyperVVirtualMachines.aspx

В последней версии Windows 10 (или 10 Server) и бета-версии Docker для Windows есть встроенная поддержка Linux Container в Windows.Это означает, что виртуальная машина или Hyper-V не задействованы (если вы не хотите), поэтому контейнеры Linux работают на самой Windows с использованием встроенной поддержки контейнеров Windows 10.

Я видел несколько похожих вопросов, но они объяснилиКак контейнер Linux запускается на платформе Windows с использованием vm / hyper-v

Как на рабочем столе Docker запускаются контейнеры Linux на машине Windows

Do "Docker"В Windows «запустить виртуальную машину Linux?»

Возможно, я не понял их ответы, но из того, что я понял, все еще кажется, что контейнер Linux находится поверх ядра Windows.

1 Ответ

0 голосов
/ 19 февраля 2019

это магия LCOW (https://github.com/linuxkit/lcow)

вы правы для запуска контейнера, базовый KERNEL должен быть таким же, так как контейнер является просто абстракцией, поэтому для запуска контейнера Linux на окнах естьдва варианта

  1. либо использовать moby linux для hyperv и запускать там контейнеры
  2. использовать lcow для запуска облегченного linux vm для каждого контейнера. (lcow)

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

с WSL в Windows в будущем мы могли бы получить третий метод, который не знает, работает ли уже кто-то над ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...