2017-01-09 5 views
9

В старых версиях Docker для Windows я помню, что он явно говорил, что для ядра используется виртуальная машина Linux.Как Docker для Windows запускает контейнеры Linux?

Но с новой стабильной версии (выпущен в июле 2016 года я думаю), это говорит

Docker for Windows is a native Windows application with a native user interface and auto-update capability, deeply integrated with Windows native virtualization, Hyper-V, networking and file system

Если я правильно понимаю, то указанная база изображений для пользовательского пространства и используется ядро ​​хоста , Итак, если я укажу, что я использую базовое изображение ubuntu для запуска команды echo, как ядро ​​Windows входит в игру?

Или я совершенно ничего не понимаю?

+0

Этот докер для Windows запускает только контейнеры Windows – user2915097

+0

Бета-версия может переключаться между контейнерами Windows и Linux. Он еще не доступен в стабильном выпуске. https://docs.docker.com/docker-for-windows/#/switch-between-windows-and-linux-containers-beta-feature –

+1

В этом случае, почему я могу запустить 'docker run ubuntu/bin/echo «Привет, мир» с последней стабильной? – MrVoodoo

ответ

11

Docker for Windows по-прежнему использует виртуальную машину Linux для запуска контейнеров Linux. Но вместо того, чтобы использовать Virtual Box (что используется с Docker Toolbox), Linux VM запускается с использованием Hyper-V - гипервизора Windows. Это означает, что Docker для Windows поставляется с меньшим количеством компонентов и имеет менее подвижные части.

Если вы устанавливаете Docker для Windows и запускаете docker version, вы увидите, что демон Docker Linux работает на «Moby Linux».

+0

I смотреть, спасибо. Текст на веб-сайте не сделал этого очень ясно. – MrVoodoo

+2

Начиная с DockerConf 2017, появилось несколько новых объявлений об использовании возможностей Windows 10 для размещения подсистемы Linux, поэтому вам может не понадобиться полная Linux-платформа Docker для Windows, работающая в HyperV –

Смежные вопросы