Fachartikel

Windows-Server-Container (2)

Neben Nano Server gehören Windows-Server-Container als Docker-Implementierung zu den wichtigsten Neuerungen in Windows Server 2016. Sie ermöglichen den einfachen und ressourcenschonenden Betrieb von Anwendungen und Webdiensten aller Art. Wir zeigen Ihnen, welche Arten von Containern es unter Windows Server 2016 gibt und mit welchen Werkzeugen sich diese verwalten lassen. Im zweiten Teil des Workshops beschäftigen wir uns damit, wie Sie Container in der PowerShell verwalten, Container-Hosts aufsetzen und wie sich damit zum Beispiel ein Webserver im Container realisieren lässt.
Leinen los: Windows-Server-Container gehörten als Docker-Implementierung zu den wichtigsten Neuerungen in Windows Server 2016.
Container in der PowerShell verwalten
Container verwalten Sie recht einfach über die PowerShell. Das gilt auch für lokale Installationen von Container-Hosts. Mit dem Befehl powershell starten Sie in der Befehlszeile eine neue PowerShell-Sitzung. Alle Befehle für Verwaltung von Containern zeigen Sie mit dem Kommando get-command -Module Containers an. Die wichtigsten Cmdlets sind Get-Container, New-Container und Start-Container. Mit StopContainer halten Sie einen Container an.

Container bauen auf Images auf. Um sich alle Container-Images anzeigen zu lassen, die auf dem Container-Host zur Verfügung stehen, verwenden Sie das Cmdlet Get-ContainerImage$. Nach der Installation gibt es auf einem Container-Host zunächst kein Image. Das müssen Sie erst erzeugen. Get-ContainerHost zeigt Informationen zum Host an, inklusive des Pfads zu seinen Images. Images laden Sie mit dem Befehl Install-PackageProvider ContainerImage -Force nach.

Bild 1: In der PowerShell stehen zahlreiche Befehle für die Verwaltung von Containern zur Verfügung.

Sie können auch aus bereits installierten Containern ein Image für weitere Container erstellen, ähnlich wie die Vorlagen in VMware vSphere oder System Center Virtual Machine Manager. Etablieren Sie auf Basis dieses Images weitere Container, erhalten diese automatisch alle Anpassungen und Einstellungen des ursprünglichen Containers, der als Basis für das Image dient. Das ist einer der Vorteile der Container-Technologie: Sie können sehr schnell Container bereitstellen. Die Vorgehensweise dazu ist sehr einfach. Einen neuen Standard-Container erstellen Sie zum Beispiel mit
New-Container -Name "Containertest" -ContainerImageName WindowsServerCore
Um den erstellten Container zu starten, verwenden Sie in diesem Beispiel den Befehl Start-Container -Name "Containertest" in der PowerShell. Der Status ist in der PowerShell zu sehen. Nachdem der Container gestartet ist, können Sie eine PowerShell-Sitzung öffnen, und sich mit dem Container verbinden. Dadurch verwalten Sie auch Einstellungen und Serverdienste im Container. Für den Verbindungsaufbau benötigen Sie die ID des Containers. Diese zeigen Sie zum Beispiel mit get-container |fl ContainerID an.

Für den Verbindungsaufbau nutzen Sie dann den Befehl Enter-PSSession. Zusammen mit der Container-ID sowie der Option "RunAsAdministrator" bauen Sie eine Verbindung auf. Der Container hat eine eigene IP-Adresse erhalten, damit er mit dem Netzwerk und dem Internet kommunizieren kann. Die Syntax des Befehls sieht folgendermaßen aus:
Enter-PSSession -ContainerId ID –RunAsAdministrator
Befehle, die Sie hier eingeben, werden im Container durchgeführt. Mit exit verlassen Sie die Sitzung im Container und arbeiten wieder mit dem eigentlichen Container-Host. Bei der Erstellung neuer Container spielen auch die virtuellen Switche auf dem Host eine Rolle. Diese zeigen Sie in der PowerShell mit Get-VMSwitch an. Container verbinden sich über die virtuellen Switche mit dem Netzwerk. Den Namen der virtuellen Switche geben Sie bei der Erstellung des Containers mit an:
New-Container -Name "Container1" -ContainerImageName WindowsServerCore 
 -SwitchName "Virtual Switch"
Eine Liste aller Container erhalten Sie auch über Get-Container. Um den Container zu starten, verwenden Sie beispielsweise den Befehl Start-Container -Name "Container1". Die Verwaltung von Containern nehmen Sie in der PowerShell vor. Dazu nutzen Sie entweder das Invoke-Kommando oder öffnen direkt eine PowerShell-Sitzung für den Container. Innerhalb der PowerShell-Sitzung auf dem Container stehen die Cmdlets zur Administration von Windows Server 2016 zur Verfügung, auch die Befehle zur Verwaltung in der Befehlszeile.

Sie können in Containern auch Sitzungen unterbrechen und erneut aufzubauen. Bei unterbrochenen Sitzungen laufen die Cmdlets in der Sitzung weiter. Dazu nutzen Sie die Cmdlets Disconnect-PSSession, Connect-PSSession und Receive-PSSession.

Wollen Sie von einer lokalen PowerShell-Sitzung über das Netzwerk Programme auf einem Container starten, greifen Sie auf diesen Befehl zurück:
Invoke-Command -ContainerId ID -RunAsAdministrator -ScriptBlock { Befehl } 
 –RunAsAdministrator
Ein Beispiel für die Ausführung ist:
Invoke-Command -ContainerId b2f55c8c-28d7-4c0c-ab2b9ee62c9ae6ea 
 -RunAsAdministrator -ScriptBlock { ipconfig } –RunAsAdministrator
Container-Host aufsetzen
Um Container in Windows Server 2016 zu nutzen, müssen Sie zuerst das Container-Feature installieren. Dazu eignet sich auch eine PowerShell-Sitzung:
Install-WindowsFeature containers
Nach der Installation müssen Sie den Server neu starten, zum Beispiel mit RestartComputer –Force. Um den Docker-Client für die Windows-Server-Container herunterzuladen und zu installieren, verwenden Sie folgende Befehlsabfolge:
Invoke-WebRequest "https://get. docker.com/builds/Windows/x86_64/ 
docker-1.12.0.zip" -OutFile "$env:TEMP\docker-1.12.0.zip"
-UseBasicParsing
Expand-Archive -Path "$env:TEMP\docker-1.12.0.zip"
-DestinationPath $env:ProgramFiles
[Environment]:
:SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker",
[EnvironmentVariableTarget]::Machine) $env:ProgramFiles\docker\dockerd.exe
--register-service
Dadurch werden die Docker-Befehle auch in die Umgebungsvariablen eingetragen. Gestartet wird der Dienst dann mit Start-Service docker. Ein Basis-Image für Docker laden Sie bei Bedarf direkt bei Microsoft herunter:
Install-PackageProvider ContainerImage -Force 
Install-ContainerImage -Name WindowsServerCore
Restart-Service docker
Das installierte Image zeigen Sie mit docker images an. Das heruntergeladene Image müssen Sie als aktuell konfigurieren:
docker tag windowsservercore: 10.0.14300.1000 windowsservercore:latest


Seite 1 von 2 Nächste Seite >>
10.12.2018/ln/Thomas Joos

Nachrichten

Service Pack 1 für SUSE Linux Enterprise 15 [25.06.2019]

SUSE hat Service Pack 1 von "SUSE Linux Enterprise 15" veröffentlicht. Der Anbieter bewirbt die Aktualisierung als multimodales Betriebssystemmodell – Container etwa sollen sich ebenso effizient einzusetzen lassen wie Datenbanken sowie ERP auf traditionellen Systemen. Konkret bietet SP1 außerdem volle Unterstützung für die Secure-Encrypted-Virtualization-Technologie von AMD. [mehr]

Ruhige Nächte mit MariaDB [12.06.2019]

Die MariaDB Corporation hat für Ende Juni "MariaDB Enterprise Server 10.4" angekündigt. Das Release trägt den Namen "Ruhige Nächte" (Restful Nights) und soll in puncto Stabilität und Anpassbarkeit neue Standards für Datenbanken in großen Produktivumgebungen setzen. Für mehr Sicherheit wird es zudem neue Backup-, Audit- und Cluster-Funktionen geben. [mehr]

Fliegengewicht [7.06.2019]

Tipps & Tools

Linux mit WebFAI neu aufsetzen [23.06.2019]

Um Linux auf mehreren Computern von Tuxedo neu auszurollen, liefert der Hersteller eine WebFAI auf einem USB-Stick. Der folgende Tipp zeigt Ihnen was Sie bei der Installation mit WebFAI beachten müssen. Dabei erklären wir auch, wie Sie das benötigte UEFI im Fll von BIOS-Problemen aktivieren. [mehr]

Katze oder Hund? [22.06.2019]

Für Tierliebhaber unter den Admins gibt es jetzt die optimale Lösung zur gleichzeitigen Schonung von Maushand und Nerven. Die Handballenauflage [1] in Form von Hund oder Katze sorgt für ein entspanntes Handgelenk bei der Arbeit am Rechner. Bei wiederkehrenden PC-Problemen lassen sich die Kunststoff-Viecher zudem bedenkenlos kneten, um den Stressabbau zu fördern. [mehr]

Buchbesprechung

Anzeigen