Neil Peterson vom Microsoft replied to me on Twitter about this, seems to be a bug: https://twitter.com/nepeters/status/705451007233257472?cn=cmVwbHk%3D&refsrc=email
Как установить компонент Windows в Docker-контейнере (Windows 2016 Server), который требует «перезагрузки сервера»?
Я пытаюсь установить функцию 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), без разницы.
1 ответ на вопрос
Похожие вопросы
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием
-
5
Отключение звукового сигнала окна cmd
-
3
Powershell пинг до бесконечности
-
-
5
Сочетание клавиш для вставки в командной строке Windows
-
5
Какие преимущества может получить средний гик от Powershell?
-
1
Powershell: выполнить операцию для всех файлов в каталоге (foreach)
-
1
Выделение Powershell / CMD для копирования правой кнопкой мыши в Vista
-
3
Что такое Windows PowerShell?
-
5
Как сделать скрипт Powershell (или другой) для изменения разрешения экрана?
-
5
Получить текущий UNC-путь из локального пути в powershell