Comments 11
Docker построен полностью на механизмах ядра Linux. Гипервизор тут нужен ОС Windows, чтобы эмулировать виртуальную машину c ядром и внутри уже использовать эти механизмы.
Благодаря технологии виртуализации (Hyper-V) можно запустить любую операционную систему, в данном случае Linux. А внутри этого пространства уже можно использовать технологии Docker.
P.S. redis можно скомпилировать для win32, есть готовые сборки. Они работают.
Там запускается виртуалка на Linux alpine на которой и вертится ваши все контейнеры. Просто это сделано для вас прозрачно. Запускается джокер энжин, от него побрасывется вам на виндоус машину соединение. Здесь по другому. Минимальная виртуалка на Linuxkit прозрачно для вас запускается для каждого контейнера, аналогично hyper-v контейнерам Windows. И управляется всё сразу из джокера.
Это другая технология, но, безусловно, похожая. Смысл здесь в прозрачной интеграции Docker engine + минимальный Linux Kit + специальная виртуалка.
Как я заметил при тестировании, это не совсем обычная виртуалка. Память контейнера в гипервизоре видна как процесс? Вообще, есть список вопросов:
- на сколько большой оверхед по памяти на контейнер?
- как работает балунинг? Возвращается ли вся память, не занятая в контейнере в гипервизор?
- будет ли доступен данный способ изоляции для других приложений, помимо докера?
Это обычная hyper-v виртуалка, но с очень специальным образом, которая очень специальным образом управляется, что существенно уменьшает вермя запуска и оверхед на процессор и память.
Оверхед по памяти есть, но он невелик (в %) даже для Windows контейнера, надо будет посмотреть, когда технология отрелизится, сейчас это пока первью.
Будет ли поддержка подключения перифериийных устройств через serial-порт к docker-контейнерам? Сейчас это есть только на Linux.
Linux-контейнеры для Windows