2017-02-10 3 views
55

Можно ли запустить Контейнеры для Windows на Linux? Сценарий основан на решении, написанном в .NET (старая сеть) и Пользователь Linux, который хочет запустить это с помощью Docker для предоставления письменного API net462 на localhost.Может ли Windows Containers размещаться на Linux?

Я использую бета от Docker for windows

Если нет, то почему окна запуска Linux контейнеров, а не наоборот?

EDIT:

Как прошло некоторое время, и этот вопрос является популярным. Я хотел бы добавить здесь одно примечание, что обходным путем является использование нового сетевого стандарта. Это позволило мне упаковать структуру 4.6.2 в новую библиотеку.

+18

Контейнеры не виртуальные машины. Они предлагают ** изоляцию ** не vritualization. Операционные системы хоста и контейнера должны быть одинаковыми. Вы не можете использовать контейнер Linux на машине Windows или контейнере Windows на машине Linux. –

+3

Невозможно. Для создания и запуска контейнеров Windows требуется система Windows с поддержкой контейнера. – ajtrichards

+0

Хорошо, но почему тогда Windows может запускать контейнеры linux? На данный момент нет наоборот? –

ответ

37

Просто резюмировать:

Как уже упоминалось в комментариях @PanagiotisKanavos, контейнеры не для виртуализации, и они используют ресурсы принимающей машины. В результате на данный момент контейнер Windows не может запускаться «как есть» на машине linux.

Но - вы можете сделать это с помощью VM - как работает на окнах. Вы можете установить Windows VM на свой Linux-хост, что позволит запускать контейнеры для Windows.

С этим ИМХО запускает его таким образом, чтобы среда PROD не была лучшей идеей.

Также this answer предоставляет более подробную информацию.

+1

Связанный ответ на самом деле не дает никаких подробностей об этом - он просто объясняет, как запускать контейнеры Linux в Windows (обратные). Можно запустить Docker внутри виртуальной машины Windows, но для этого вам нужна поддержка вложенной виртуализации. Это означает, что он работает с VMware, но не с Virtualbox. – Ralf

0

Контейнеры Windows не работают в Linux, а также вы не можете напрямую запускать контейнеры Linux в Windows.

+3

Можете ли вы немного разобраться? – Matthieu

+2

Вы можете запускать контейнеры linux при выигрыше 10 – Kugel

4

Windows Server поставляется с базовым изображением операционной системы ubuntu (после сентябрьского 2016 года бета-пакета обновления). Именно по этой причине вы можете запускать linux на windows, а не в другом. Проверьте здесь. https://thenewstack.io/finally-linux-containers-really-will-run-windows-linuxkit/

+0

Зачем нужны downvotes? –

0

Вы можете использовать Контейнеры Windows внутри виртуальной машины (гостевая ОС должна соответствовать требованиям - Windows 10 Pro или Windows 2016).

Например, вы можете использовать VirtualBox, просто включите Hyper-V внутри интерфейса System/Acceleration/Paravirtualization Interface.

После этого, если Docker не запускается из-за ошибки, используйте «Переключиться на контейнеры Windows ...» в настройках.

(это может быть перемещен в качестве комментария к принятому ответ, но у меня не хватает репутации сделать это)