Docker-Container unter Windows 10 installieren

    Docker Container für WindowsWer Anwen­dungen für Docker-Container ent­wickeln oder ein­fach nur einen ersten Ein­druck von diesem Feature gewinnen will, muss dafür keinen Windows Server auf­setzen. Seit dem Release 1607 unter­stützt auch Windows 10 x64 (Pro und Enterprise) Container. Die folgende An­leitung zeigt, wie man sie ein­richtet.

    Windows Server kennt zwei verschiedene Implemen­tierungen von Containern, nämlich Windows Server Container und Hyper-V Container (siehe dazu Container in Windows Server 2016: Funktionsweise, Typen, Anwendungen). Bei der ersten Variante teilen sich das Host-OS und die Container einen Kernel.

    Support nur für Hyper-V Container

    Nachdem die Container-Images für Windows auf Server Core oder Nano Server beruhen, können Container nicht den Kernel des Hosts-Betriebssystems nutzen, wenn es sich dabei um Windows 10 handelt. Daher unterstützt Microsoft auf einer Workstation nur Hyper-V Container, bei dem eine Magervariante des Server-OS in einer VM läuft.

    Führt man Windows 10 selbst in einer VM aus, dann benötigt man daher für Container eine Konfiguration für Nested Virtualization. Diese kann man etwa mittels VMware Workstation oder einer neuen Version von Hyper-V bereit­stellen (siehe dazu: Hyper-V in einer Hyper-V-VM installieren).

    Hyper-V und Container als Features aktivieren

    Aus diesem Grund besteht die erste Voraus­setzung für Container darin, dass man das Feature Hyper-V aktiviert. Möchte man das über die GUI tun, dann beschreibt diese Anleitung, wie man vorgeht. Alternativ öffnet man eine PowerShell-Konsole mit admini­strativen Rechten und gibt folgenden Befehl ein:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

    Anschließend ist ein Neustart erforderlich.

    Das Container-Feature in Windows10 über die Systemsteuerung aktivieren

    Im nächsten Schritt fügt man das Feature Container hinzu. Das geht ebenfalls über die Systemsteuerung unter Programme => Windows-Features aktivieren oder deaktivieren. In PowerShell erledigt

    Enable-WindowsOptionalFeature -Online -FeatureName Containers -All

    diese Aufgabe.

    Das Feature Container mittels PowerShell hinzufügen

    Docker-Modul herunterladen und installieren

    Nun sind unter Windows 10 die Vorbereitungen abgeschlossen und man kann sich daran machen, die Docker-Engine und den dazuge­hörigen Client zu installieren. Beide gehören nicht zum Lieferumfang des Betriebs­systems, sondern müssen von der Docker-Website heruntergeladen werden.

    Docker lässt sich seit einiger Zeit über einen MSI-Installer aufspielen.

    Der Hersteller bietet neben der stabilen auch eine Entwickler­version an, für beide existiert mittlerweile ein MSI-Installer. Nachdem dieser durchgelaufen ist, bietet der letzte Dialog an, Docker gleich zu starten. Dies kann allerdings fehlschlagen, wobei folgende Fehlermeldung erscheint:

    Docker hv-sock proxy (vsudd) is not reachable
    at Docker.Backend.ContainerEngine.Linux.ConnectToVsud(TaskCompletionSource`1 vmId)
    at Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings)
    at Docker.Backend.ContainerEngine.Linux.Start(Settings settings)
    at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass8_0.b__0(Object[] parameters)
    at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters)

    Fehler beim Starten der frisch installierten Docker-Engine

    Sie wird offenbar dadurch verursacht, dass der Installer das Programm nicht mit ausreichenden Rechten ausführt. Normaler­weise lässt sich das Problem beheben, indem man Docker anschließend explizit als Administrator startet.

    Von den voreingestellten Linux- auf Windows-Container umschalten.

    Sobald der Docker-Service läuft, lässt sich dieser über das Icon im System-Tray verwalten. Per Voreinstellung ist er für Linux-Container konfiguriert. Wenn man Basis-Images für Windows Server einsetzen möchte, dann muss man hier den Befehl Switch to Windows containers ausführen.

    Basis-Images herunterladen und testen

    Nun kann man auf eine Kommandozeile wechseln und den Client durch Eingabe von docker öffnen. Er stellt die nötigen Befehle zur Verfügung, um Images herunterzuladen und Container zu starten.

    Zuerst sollte man sich durch das Kommando

    docker version

    davon überzeugen, dass der Docker-Service läuft.

    Um ein Basis-Image herunterzuladen, gibt man für Nano Server

    docker pull microsoft/nanoserver

    und für Server Core

    docker pull microsoft/windowsservercore

    ein.

    Basis-Image für Nano Server herunterladen

    Der Befehl docker images bestätigt nach Abschluss des Vorgangs, dass die herunter­geladenen Basis-Images auf dem System vorhanden sind. Nun kann man sich daran machen, etwa einen Container auf Basis von Nano Server zu starten:

    docker run -it microsoft/nanoserver cmd

    Dieses Kommando startet einen Container auf Basis des Nano-Images in einer inter­aktiven Session und öffnet dort die Eingabeauf­forderung.

    Nano Server im Docker-Container lässt sich über einen eigenen Hostname identifizieren.

    Dies könnte ein erster Schritt sein zur Erstellung eines eigenen Container-Images.

    Keine Kommentare