Container in der PowerShell erstellen
Neben der Möglichkeit mit dem Tool docker zu arbeiten, können Container auch mit der PowerShell verwaltet werden. Die PowerShell-CMDlets zum Verwalten von Container erhält man am schnellsten über den Befehl Get-Command -Module containers an. Um nach der Verbindung mit dem Container-Host die verfügbaren Images anzuzeigen, dient der Befehl Get-ContainerImage.
Wichtig bei der Erstellung neuer Container sind auch die virtuellen Switches. Diese zeigt Get-VMSwitch an. Container verbinden sich über die virtuellen Switch mit dem Netzwerk. Den Namen der virtuellen Switches müssen bei der Erstellung des Containers gleich mit angeben werden:
New-Container -Name "Container1" -ContainerImageName WindowsServerCore -SwitchName "Virtual Switch"
Eine Liste aller Container erhält der Admin auch über den Befehl Get-Container. Der Start eines Containers erfolgt über den Befehl Start-Container -Name "Container1".
Die Verwaltung des Containers erfolgt anschließend in der PowerShell. Dies geschieht entweder mit Invoke-Command oder eine PowerShell-Sitzung wird direkt für den Container geöffnet. Zum Verbindungsaufbau ist die ContainerID erforderlich. Sie erhält man mit
get-container |fl ContainerID
Um mit Enter-PSSession eine Verbindung aufzubauen, ist folgende Befehlssyntax zu verwenden:
Enter-PSSession -ContainerId <ID> -RunAsAdministrator
In diesem Beispiel sieht der Befehl folgendermaßen aus:
Enter-PSSession -ContainerId b2f55c8c-28d7-4c0c-ab2b-9ee62c9ae6ea -RunAsAdministrator
Innerhalb der PowerShell-Sitzung stehen die verschiedenen CMDlets zur Verwaltung von Windows Server 2016 zur Verfügung, auch die Befehle zur Verwaltung in der Befehlszeile. Sobald der Verbindungsaufbau durchgeführt ist, steht die PowerShell zur Verwaltung des Containers zur Verfügung. Um zum Beispiel die IP-Adresse des Containers in Erfahrung zu bringen, verwenden Anwender den Befehl ipconfig. Mit dem Befehl exit wird die Container-Verwaltung verlassen.
In Containern können auch Sitzungen unterbrochen und erneut aufgebaut werden. Bei unterbrochenen Sitzungen laufen die Cmdlets in der Sitzung weiter. Dazu dienen die Cmdlets Disconnect-PSSession, Connect-PSSession und Receive-PSSession.
Um von einer lokalen PowerShell-Sitzung über das Netzwerk Programme auf einem Container zu starten, ist folgender Befehl zu verwenden:
Invoke-Command -ContainerId <ID> -RunAsAdministrator -ScriptBlock { <Befehl> } - RunAsAdministrator
Ein Beispiel für die Ausführung ist:
Invoke-Command -ContainerId b2f55c8c-28d7-4c0c-ab2b-9ee62c9ae6ea -RunAsAdministrator -ScriptBlock { ipconfig } - RunAsAdministrator
Fazit und Ausblick
Man merkt Windows Server 2016 mittlerweile den sehr weiten Entwicklungsstand an. Mit jeder Technical Preview bietet Microsoft mehr Möglichkeiten und Neuerungen des neuen Betriebssystems. Die Server-Container sowie die neue Nano-Installation stellen sicherlich die wichtigsten Neuerungen dar.
In Sachen Network Controller und Host Guardian Service stehen für die nächsten Technical Previews zu erwartende funktionale Neuerungen an. Hinsichtlich des Veröffentlichungstermins von Windows Server 2016 hat Microsoft bislang nur angekündigt, das dieser im Laufe des nächsten Jahres erscheinen wird. (mje)