#windows #docker #docker-for-windows
#Windows #docker #docker-для-Windows
Вопрос:
Если я создам контейнер с изображением Windows на нем, можно ли использовать удаленное подключение, чтобы фактически видеть рабочий стол и, например, играть в сапера?
Мой вариант использования таков:
У меня сотни пользователей. Каждому пользователю необходимо создать свою инфраструктуру, состоящую из примерно 6 машин, соединенных вместе. После создания пользователь откроет несколько приложений с графическим интерфейсом для каждого из них, используя подключение к удаленному рабочему столу.
Комментарии:
1. если нет, то это в дорожной карте на будущее или ясно, что оно никогда не будет реализовано
2. ps: Я знаю, что это необычный вариант использования, но почему понижающий голос?
3. Вы когда-нибудь проверяли, может ли docker запускать Windows?
4. Конечно… Существует изображение windowsserver и изображение nano: forums.docker.com/c/docker-for-windows
Ответ №1:
Нет, это не то, что вы сможете сделать.
В настоящее время существует два образа контейнера Windows, microsoft/windowsservercore
и microsoft/nanoserver
наносервер
В этом сообщении в блоге о TP4 (одном из ранних релизов) говорится
Единственная опция, доступная при входе в консоль виртуальной машины под управлением Nano Server или подключении аварийной корзины к физическому Nano Серверу, — это очень простая аварийная консоль
В этом разделе, посвященном управлению сервером Nano, также говорится
Nano Server управляется удаленно. Там вообще нет возможности локального входа в систему, и он не поддерживает службы терминалов.
Существует также эта статья, правда, не от Microsoft, о Windows Nano server
Nano Server еще больше сокращает операционную систему, отбрасывая такие вещи, как стек графического интерфейса, 32-разрядная поддержка Win32, локальные логины и поддержка удаленного рабочего стола.
Nano Server предназначен для двух видов рабочей нагрузки: облачные приложения, созданные на основе сред выполнения, таких как .NET, Java, Node.js , или Python, и облачная инфраструктура, такая как хостинг виртуальных машин Hyper-V.
серверное ядро
В блоге Docker есть довольно интересная запись, посвященная Docker для Windows Server 2016. В этой части рассматривается вопрос о приложениях с графическим интерфейсом
Образ ядра Windows Server поставляется с практически полным пользовательским интерфейсом с процессами и библиотеками DLL, найденными в стандартной установке ядра Windows Server. За исключением приложений с графическим интерфейсом и приложений, требующих удаленного рабочего стола Windows, большинство приложений, работающих на Windows Server, можно настроить для запуска в образе на основе Microsoft / windowsservercore с минимальными усилиями.
Если вы хотите настроить такую среду, одним из вариантов является использование чего-то вроде Vagrant для организации запуска и подготовки обычных виртуальных машин Windows. Хотя 6 виртуальных машин Windows не будут удобны для памяти.
Комментарии:
1.Вы правы, что для контейнеров Windows нет пользовательского интерфейса, но контейнеры не обязательно должны быть основаны на Nano Server. Вы можете использовать microsoft / nanoserver или microsoft / windowsservercore в качестве базового образа — последний имеет полный набор основных функций Windows Server, за вычетом пользовательского интерфейса.
2. @EltonStoneman Спасибо, это было довольно большим упущением с моей стороны. Должно быть исправлено.
3. Я предполагаю, что добавление пользовательского интерфейса для контейнеров Windows должно создать угрозу для Microsoft, поскольку вы можете использовать Windows без платной лицензии. Вот почему они его не добавляют (и, конечно, это некритичный вариант использования)
4. @guilhermecgs На самом деле, цель контейнеров Windows та же, что и для контейнеров Linux, — упростить упаковку и развертывание ваших приложений на сотнях серверов одновременно. Графический интерфейс не очень полезен в этом сценарии.
5. @R0MANARMY, но вы можете сделать это с Linux 🙂 fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker Но я понимаю, что это довольно странный вариант использования