Docker und Hyper-V-Container in Windows 10 Vorbereitung für Nano-Images und Container im Datacenter
In neueren Versionen von „Windows 10“ (ab Build 14361) hat Microsoft die Container-Technologie auch in das Betriebssystem für Arbeitsstationen besser integriert. Das erlaubt Administratoren und Entwicklern die Vorbereitung für Container und „Hyper-V“-Container für das Rechenzentrum.

Administratoren in Umgebungen mit Windows 10 wird freuen, dass Microsoft die Container-Technologie, inklusive der Hyper-V-Container, in Windows 10 integriert hat. Dazu wird ein PC mit Windows 10 ab Build-Nummer 14361 benötigt. Für Hyper-V-Container ist ein physischer PC notwendig, oder eine VM in einer eingebetteten (nested) Virtualisierungsumgebung (Nested Virtualization in Windows Server 2016, Virtualisierung von Hyper-V mit Hyper-V. Ab Build 14361 sind noch weitere Funktionen integriert worden, die vor allem für Unternehmen interessant sind, auch im Bereich der Zusammenarbeit mit Windows Server 2016.
Hyper-V-Container und Windows 10 im Rechenzentrum
Hyper-V-Container stellen eine weitere Art der Container in Windows 10 und Windows Server 2016 dar. Diese sind noch mehr voneinander abgeschottet als herkömmliche Container. Das liegt auch daran, dass Hyper-V Container eine eigene Instanz des Windows-Kernels verwenden, dabei aber gleichzeitig auf alle Funktionen von Windows-Containern setzen.
Aus jedem herkömmlichen Windows-Container lassen sich Hyper-V-Container machen und umgekehrt. Mit Windows 10 und Docker können Administratoren ein aktuelles Nano-Server-Image auf Basis von Windows Server 2016 herunterladen und bereitstellen. Hierüber stehen dann die Hyper-V-Container zur Verfügung. Die Basis entspricht also direkt den Möglichkeiten von Windows Server 2016.
Ab Build 14361 können Administratoren also die Linux-Container-Technologie „Docker“ in Windows 10 nahezu uneingeschränkt nutzen, inklusive der Möglichkeiten, die Microsoft mit „Windows Server 2016“ integriert. Hier stehen also ähnliche Funktionen zur Verfügung, wie in Windows Server 2016, das „Nano-Server“-Image ist sogar vollständig identisch. Dadurch besteht die Möglichkeit Container und Images für das Rechenzentrum auch auf Arbeitsstationen bereitzustellen oder zumindest vorzubereiten.
Linux wird obsolet
Bisher mussten Administratoren bei der Verwendung von Docker mit Windows ein kleines virtuelles Linux-System auf dem Rechner betreiben. Das ist ab Windows 10 Build 14361 nicht mehr notwendig. Entwickler können mit Windows 10 also Anwendungen für Container vorbereiten und diese später mit Windows Server 2016 bereitstellen.
Da auch die neuen Hyper-V-Container unterstützt werden, kann Windows 10 problemlos als Entwicklungsplattform für Rechenzentren dienen, welche auf die neue Container-Technologie in Windows Server 2016 setzen. Grundlage dafür ist die Nano-Installation von Windows Server 2016, die auch unter Windows 10 genutzt werden kann.
Runtimes und Container, die Entwickler in Windows 10 erstellen, lassen sich problemlos in Windows Server 2016 übertragen, und zwar als herkömmliche Container, und als Hyper-V-Container. Die Tools und Befehle zur Verwaltung sind in Windows 10 und Windows Server 2016 ebenfalls identisch.
Container-Rolle in Windows 10 installieren
Um die Container-Rolle in Windows 10 zu installieren, wird eine Powershell-Sitzung mit administrativen Rechten benötigt. In dieser wird zunächst das Container-Feature installiert:
Enable-WindowsOptionalFeature -Online -FeatureName containers -All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Restart-Computer –Force
Durch die drei Befehle werden Hyper-V installiert sowie das Container-Feature. Anschließend wird der PC neu gestartet. Die Container und Hyper-V lassen sich ebenfalls als Features auch über die grafische Oberfläche aktivieren.
Das Programm dazu ist am schnellsten über optionalfeatures.exe zu finden. Da Container und das Nano-Image aber ohnehin hauptsächlich in der Befehlszeile und der Powershell verwaltet werden, bietet es sich an die Installation über diesen Weg durchzuführen.
Für die Verwaltung der Container in Windows 10 wird noch die Docker-Erweiterung benötigt. Diese lässt sich am einfachsten ebenfalls in der Powershell installieren. Für den Vorgang wird eine Internet-Verbindung benötigt, damit die Installationsdateien heruntergeladen werden können:
New-Item -Type Directory -Path 'C:\Program Files\docker\'
Invoke-WebRequest https://aka.ms/tp5/b/dockerd -OutFile $env:ProgramFiles\docker\dockerd.exe
Invoke-WebRequest https://aka.ms/tp5/b/docker -OutFile $env:ProgramFiles\docker\docker.exe
Grundsätzlich ist es sinnvoll den Pfad zu den Docker-Dateien zum Systempfad des Rechners hinzuzufügen, damit kein ständiger Wechsel in das Verzeichnis erfolgen muss:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)
Im Anschluss empfiehlt Microsoft den Neustart der Powershell-Sitzung. Docker kann in Windows 10 auch als Systemdienst definiert und gestartet werden. Auch diese Aufgaben lassen sich in der Powershell durchführen:
dockerd --register-service
Start-Service Docker
Container-Images in Windows 10 installieren- Nano und Co.
Container werden nicht installiert, sondern auf Basis einer Vorlage oder eines Images bereitgestellt. Für das Erstellen eines Containers sind also Vorlagen und Images notwendig. Über diesen Weg lassen sich auch Nano-Server unter Windows 10 erstellen.
Das Nano-Server-Image von Windows Server 2016z stellt die Grundlage für das Erstellen von Hyper-V-Container in Windows 10 dar. Auch hier muss das Image erst aus dem Internet heruntergeladen werden. Dazu sind die folgenden Befehle notwendig:
Set-ExecutionPolicy Bypass -scope Process
Install-PackageProvider ContainerImage -Force
Install-ContainerImage -Name NanoServer
Restart-Service docker
Mit dem Befehl „docker“ lassen sich dann die Container verwalten. Um zum Beispiel alle vorhandenen Images anzuzeigen wird „docker images“ verwendet. Wie mit Windows Server 2016, muss auch in Windows 10 das vorhandene Nano-Server-Image als aktuell markiert werden:
docker tag nanoserver:10.0.14300.1016 nanoserver:latest
Das Befehlszeilen-Tool docker.exe ist nicht nur in der Powershell verfügbar, sondern auch in der herkömmlichen Befehlszeile. Microsoft erweitert derzeit die Verwaltungsmöglichkeit von Containern über docker.exe und die Powershell-Module, welche durch die Container-Technologie zur Verfügung stehen.
Container erstellen
Wenn alle Voraussetzungen getroffen sind, lassen sich Container bereitstellen. Ein Beispiel von Microsoft ermöglicht zum Beispiel das Bereitstellen einer einfachen .NET Core-Anwendung in einem Container. Dazu muss das entsprechende Image erst bei Microsoft/Docker heruntergeladen werden:
docker pull microsoft/sample-dotnet
Auch hier lässt sich der Download wieder mit docker.exe verifizieren:
docker images
Um einen Container auf Basis des heruntergeladenen Images zu erstellen, wird folgender Befehl verwendet:
docker run --isolation=hyperv --rm microsoft/sample-dotnet
docker run startet Container.
*Thomas Joos ist freier Autor zahleriecher Fachartikel und Fachbücher. Er bloggt auf DataCenter-Insider unter „Toms Admin-Blog“.
(ID:44409179)