Как установить компонент Windows в Docker-контейнере (Windows 2016 Server), который требует «перезагрузки сервера»?


4

Я пытаюсь установить функцию Windows " NetworkController" в Docker-контейнере на 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), без разницы.

Ответы:


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.