Я пытаюсь установить функцию Windows « NetworkController
» в док-контейнере на Windows 2016 Server TP4, используя Powershell.
После запуска « Add-WindowsFeature NetworkController
» я получаю сообщение:
«Вы должны перезагрузить этот сервер, чтобы завершить процесс установки».
Когда я снова проверяю (еще ничего не делая) с Get-WindowsFeature, он имеет состояние установки "InstallPending".
Теперь я не уверен, что означает "перезапустить этот сервер" на 100%, но я предполагаю, что это означает, что я должен перезапустить хост-компьютер, поскольку перезапускать больше нечего (а сам контейнер - это просто контейнер, а не виртуальная машина как с подходом Hyper-V).
Поэтому я пробую следующие подходы:
Подход (1)
Я останавливаю Docker-контейнер с помощью docker stop iisdemo
, затем перезагружаю хост-компьютер (мой сервер Windows 2016), а затем перезапускаю Docker-контейнер с помощью docker start iisdemo
.
Но когда я проверяю NetworkController, он все еще не установлен.
Подход (2)
Во второй попытке я добавляю функцию, затем перезагружаю док-контейнер, не перезагружая сервер Windows 2016, просто запускаю
dock restart iisdemo
.
Теперь происходит нечто странное, когда я пытаюсь проверить функции через Get-WindowsFeature *network*
, процесс сбора данных останавливается на 57%, и контейнер существует сам по себе.
Когда я снова прикрепляю изображение к докеру:
> docker start iisdemo
> docker attach iisdemo
> powershell
> Get-WindowsFeature *network*
Я вернулся к тому, с чего начал:
Подход (3)
Другой третий подход, очевидно, не должен работать, но я все равно попробовал его и перезапустил сервер / хост Windows 2016, не останавливая контейнер докера. Излишне говорить, что это тоже не сработало (такое же поведение, как в подходе 1, контейнер завершается на 57% сбора данных).
Подход (4)
Запуск « shutdown -r -f -t 10
» внутри контейнера также не помогает. После перезагрузки NetworkController
все еще не установлен.
Примечание. Я пытался использовать как контейнеры Docker, так и контейнеры Windows (созданные и управляемые с помощью команд Powershell), без разницы.