Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein "Server-Neustart" erforderlich ist?

1914
Mathias Conradt

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."

Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein

Wenn ich jetzt erneut mit Get-WindowsFeature überprüfe (ohne etwas anderes getan zu haben), hat es den Installationsstatus "InstallPending".

Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein

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.

Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein

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.

Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein

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:

Wie installiere ich ein Windows-Feature im Docker-Container (Windows 2016 Server), für das ein

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 NetworkControllerimmer 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.

4

1 Antwort auf die Frage

2
Mathias Conradt

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