Подтвердить что ты не робот

Linux-машина с контейнером для развертывания docker

У меня есть сервер Linux с 16 ГБ оперативной памяти с установленным хостом докеров. Я хотел бы развернуть на нем контейнер Windows Server. Является ли это возможным? Кто-нибудь просто попробовал это решение?

4b9b3361

Ответ 1

В теории (исходный ответ Oct 2015):

На хосте Linux нет "контейнера Windows".
И контейнер Linux не будет запускаться непосредственно на сервере Windows, поскольку полагается на системные вызовы на ядро ​​Linux.

Вы, безусловно, можете запускать эти контейнеры Linux на любой машине Windows через виртуальную машину.
Вот что панель инструментов докеров будет установлена ​​.

В ближайшее время будет поддержка докеров в Windows, но это будет для контейнера Windows, а не для контейнеров Linux.

Обновление 2017: да, LinuxKit позволяет запускать контейнер linux через оболочку изоляции Hyper-V на платформе Windows через минимальную Linux OS построена из linuxkit.
Это все та же идея: linux работает внутри виртуальной машины в Windows.
Это не сервер Linux, развернутый на сервере Windows: он развернут только на сервере Linux, работающем в виртуальной машине в Windows.


Фактически... (обновление, декабрь 2016 г.)

См. " Linux и Windows, живущие вместе, полный хаос! (OK, Kubernetes 1.5)"

Kubernetes 1.5 включает альфа-поддержку как контейнеров Windows Server, так и общей модели ядра, подобной Docker, и Hyper-V Containers, одноядерной модели, которая обеспечивает лучшую изоляцию для сред с несколькими арендаторами за счет большей латентности).
Конечным результатом является возможность создания единого кластера Kubernetes, который включает в себя не только узлы Linux, на которых запущены контейнеры Linux, либо узлы Windows, работающие под контейнерами Windows, но оба они бок о бок, для действительно гибридного опыта.
Например, одна служба может иметь POD с использованием контейнеров Windows Server и других POD с использованием контейнеров Linux.

Но:

Несмотря на то, что он выглядит полностью функциональным, в этом раннем выпуске есть некоторые ограничения, в том числе:

  • Мастер Kubernetes должен все еще работать на Linux из-за зависимостей в том, как написано. Его можно переносить в Windows, но на данный момент команда чувствует себя лучше, чтобы сосредоточить свои усилия на клиентских компонентах.
  • Не существует встроенной поддержки сетевых оверлей для контейнеров в окнах, поэтому сетевое взаимодействие ограничено L3. (Существуют и другие решения, но они не доступны.)
    Однако Kubernetes Windows SIG работает с Microsoft для решения этих проблем, и они надеются добиться прогресса в выпуске Kubernetes 1.6 в начале следующего года.
  • Сеть между контейнерами Windows сложнее, потому что каждый контейнер получает свое собственное пространство имен в сети, поэтому рекомендуется, чтобы вы использовали контейнеры с одним контейнером на данный момент.
  • Приложения, запущенные в контейнерах Windows Server, могут работать на любом языке, поддерживаемом Windows. Вы можете запускать приложения .NET в контейнерах Linux, но только если они написаны в .NET Core. Ядро .NET также поддерживается операционной системой Nano Server, которая может быть развернута в контейнерах Windows Server.