Neil Peterson vom Microsoft hat mir auf Twitter darauf geantwortet, scheint ein Fehler zu sein: https://twitter.com/nepeters/status/705451007233257472?cn=cmVwbHk%3D&refsrc=email
Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein "Server-Neustart" erforderlich ist?
Ich versuche, die Windows-Funktion " NetworkController
" in einem Docker-Container unter Windows 2016 Server TP4 mit Powershell zu installieren . Nachdem ich " Add-WindowsFeature NetworkController
" ausgeführt habe, erhalte ich die Nachricht:
"Sie müssen diesen Server neu starten, um den Installationsvorgang abzuschließen."
Wenn ich jetzt erneut mit Get-WindowsFeature überprüfe (ohne etwas anderes getan zu haben), hat es den Installationsstatus "InstallPending".
Jetzt bin ich mir nicht sicher, was "Neustart dieses Servers" 100% bedeutet, aber ich nehme an, dass ich den Host-Computer neu starten soll, da es keinen Neustart gibt (und der Container selbst nur ein Container ist, keine VM als.) mit einem Hyper-V-Ansatz).
Also versuche ich folgende Ansätze:
Ansatz (1)
Ich stoppe den Docker-Container mit docker stop iisdemo
, starte den Host-Computer (meinen Windows 2016-Server) neu und starte dann den Docker-Container erneut mit docker start iisdemo
.
Wenn ich jedoch nach dem NetworkController suche, ist er immer noch nicht installiert.
Ansatz (2)
In einem zweiten Versuch füge ich die Funktion hinzu und starte dann den Docker-Container neu, ohne den Windows 2016-Server neu zu starten und gerade zu laufen
dock restart iisdemo
.
Nun passiert etwas Seltsames, wenn ich versuche, die Features über zu prüfen Get-WindowsFeature *network*
, stoppt der Datenerhebungsvorgang bei 57% und der Container existiert von selbst.
Wenn ich das Docker-Image erneut anhebe:
> docker start iisdemo > docker attach iisdemo > powershell > Get-WindowsFeature *network*
Ich bin wieder da, wo ich angefangen habe:
Ansatz (3)
Ein anderer dritter Ansatz sollte natürlich nicht funktionieren, aber ich habe es trotzdem versucht und den Windows 2016-Server / -Host neu gestartet, ohne den Docker-Container zu stoppen. Natürlich hat dies auch nicht funktioniert (dasselbe Verhalten wie bei Ansatz 1, der Container liegt bei 57% der Erfassungsdaten).
Ansatz (4)
Das Ausführen eines " shutdown -r -f -t 10
" innerhalb des Containers hilft auch nicht. Nach dem Neustart ist der NetworkController
immer noch nicht installiert.
Hinweis: Ich habe versucht, sowohl Docker-Container als auch Windows-Container zu verwenden (die über Powershell-Befehle erstellt und verwaltet werden), spielt dabei keine Rolle.
1 Antwort auf die Frage
Verwandte Probleme
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
5
Deaktivieren des Pieptons im cmd-Fenster
-
3
Powershell-Ping auf unbestimmte Zeit
-
5
Tastenkombination zum Einfügen in die Windows-Eingabeaufforderung
-
5
Welche Vorteile könnte ein durchschnittlicher Geek aus Powershell ziehen?
-
1
Powershell: Führt eine Operation für alle Dateien in einem Verzeichnis durch (foreach)
-
1
PowerShell / CMD-Markierung, um in Vista mit der rechten Maustaste zu klicken
-
3
Was ist Windows PowerShell?
-
5
Wie macht man ein Powershell (oder ein anderes) Skript, um die Bildschirmauflösung zu ändern?
-
5
Rufen Sie den aktuellen UNC-Pfad von einem lokalen Pfad in Powershell ab