Я пытаюсь создать образ Windows 10, чтобы закрепить существующее устаревшее приложение. По очень веским причинам базовым образом должна быть Windows 10. не Windows Server. Как мне это сделать?
Я имел в виду следующее:
1) Создайте мою обычную установку Windows как машину Hyper-V
2) Установите на него приложение
3) Выключите эту виртуальную машину
4) Преобразуйте полученный VHDX в файл образа Windows (WIM).
5) Как-нибудь использовать это как базовый образ для докера
Я на правильном пути?
Нет, это не сработает.
Контейнеры Windows (это то же самое, что и контейнеры Docker в Linux) в основном содержат часть окон «пользовательского пространства», но совместно используют одно базовое ядро сервера Windows.
Я считаю, что удобный способ думать об этом заключается в том, что каждый контейнер является своего рода отдельной изолированной учетной записью пользователя в Windows. У вас может быть несколько учетных записей пользователей, каждая из которых имеет свой собственный набор файлов, каждая из которых отделена друг от друга стеной, но они по-прежнему напрямую связаны с базовой ОС, и каждая из них работает на одном общем ядре.
Это замечательно, так как с одним общим ядром нам не нужна аппаратная виртуализация на уровне процессора или памяти, поэтому все может быть намного эффективнее.
Однако в соответствии с этим дизайном пользовательский интерфейс Windows 10 и все такое не предназначены для работы с ядром Windows Server 2016. Они могут работать по совпадению, но это маловероятно.
Кроме того, вы не можете просто взять VHD / WIM или другой образ и сказать «это мой контейнер». Вам нужно начать с «базового образа», который фактически представляет вашу основную ОС, а затем применить изменения по мере необходимости. Я не могу представить себе попытку вычислить набор изменений, необходимых для преобразования базового сервера Windows в Windows 10.