Я пытаюсь создать образ 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.