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

BSI ermittelt zu umfangreichem Datenleck [18.01.2019]

Der IT-Sicherheitsforscher Troy Hunt ist auf einen Datensatz mit 87 GByte Umfang gestoßen. Dieser enthält rund 773 Millionen E-Mail-Adressen und 21 Millionen Passwörter im Klartext. Nach ersten Erkenntnissen handelt es sich um Daten, die über einen längeren Zeitraum gesammelt wurden und zum Teil älteren Datums sind. Nun wirft auch das BSI einen Blick auf die Informationen. [mehr]

AWS mit eigenem Backupdienst [17.01.2019]

Amazon Web Services hat 'AWS Backup' angekündigt. Mit dem vollständig verwalteten, zentralisierten Backupdienst können Nutzer Daten über AWS-Dienste und lokale Standorte hinweg laut Anbieter schnell und einfach sichern. Ausgangspunkt ist die AWS Management Console. [mehr]

Tipps & Tools

Korrekte Authentifizierung monitoren [20.01.2019]

Wer auf Nummer sicher gehen will, kann über das Monitoringsystem PRTG die Authentifizierung für die Anmeldung an einer Webseite überwachen. Sobald die Anmeldung fehlschlägt, weil der Benutzername und/oder das Passwort falsch sind, soll der Sensor einen Fehler anzeigen. Es bedarf allerdings einiger Maßnahmen, um zu prüfen, ob die Anmeldeinformationen für eine Webseite korrekt sind. [mehr]

Von Whiteboard in die Cloud [19.01.2019]

Falls Sie im neuen Jahr wichtige Ideen aus Meetings besser im Gedächtnis behalten wollen, kann die Anschaffung des 'Think Board X Smart Whiteboard' sinnvoll sein. Das praktische Gimmick haftet praktisch an jeder beliebigen glatten Oberfläche und fungiert dort als Whiteboard-Tafel. Vor allem erspart es Ihnen aber die lästige Abtipperei vom Flipchart - Inhalte lassen sich einfach mit Hilfe einer App übertragen. [mehr]

Buchbesprechung

IT-Sicherheit

von Prof. Dr. Claudia Eckert

Anzeigen