In dem Artikel von Microsoft zum Installieren von Docker auf einem Windows Server scheinen noch ein paar wichtige Details zu fehlen. Daher hier die Schritte, die bei mir zum Erfolg geführt haben
Wichtig: Momentan ist es wohl noch nicht möglich Docker auf Windows Server 2019 Essentials in Betrieb zu nehmen. Die einzelnen Installationsschritte können zwar durchgeführt werden. Beim installieren des Container-Features kommt es allerdings zu einem Fehler und der Test mit dem Nanoserver schlägt dann fehl. Mit der Standardversion von Windows Server 2019 funktioniert alles wie beschrieben.
Wurde das Betriebssystem gerade erst installiert, so ist es unbedingt notwendig zunächst das System via Updates auf den aktuellsten Stand zu bringen. Dies kann z.B. mit folgendem Kommando angestoßen werden.
sconfig
Anschließend wird die PowerShell als Administrator geöffnet und überprüft, ob die erforderlichen, optionalen Features schon aktiviert sind.
Get-WindowsOptionalFeature -Online -FeatureName *Platform
Nun aktivieren wir zuerst das Feature “HypervisorPlatform”:
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform
Wie man sehen kann, erfordert dies eventuell einen Neustart der Computers.
Danach sollte sich der Status für HypervisorPlatform geändert haben…
… und der entsprechenden Service sollte in der Serviceübersicht vorhanden sein.
Im nächsten Schritt wird das Feature “VirtualMachinePlatform” aktiviert
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Außerdem aktiviere und starte ich noch den “Host Network Service”.
Set-Service -Name hns -StartupType Automatic
Start-Service hns
Nun sollte alles für die Installation von Docker vorbereitet sein.
Docker selbst wird mit den folgenden PowerShell Kommandos installiert
Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force
Um das “Containers” Feature zu aktivieren und die Installation abzuschließen, muss der Computer neu gestartet werden.
Restart-Computer
In der Serviceübersicht sollte die Docker Engine nach dem Neustart dann gestartet sein.
Als zusätzliche Prüfung können wir uns noch die aktuelle Docker Version anzeigen lassen…
docker version
… und schon mal die Images für servercore und nanoserverherunterladen
docker image pull mcr.microsoft.com/windows/servercore:1809
docker image pull mcr.microsoft.com/windows/nanoserver:1809
Als finalen Test starten wir nun den nanoserver und lassen und benutzen dessen Kommandozeile
docker run -it mcr.microsoft.com/windows/nanoserver:1809
In der Kommandozeil des Nanoserver-Containers können wir uns den Hostnamen anzeigen lassen und den Containerdann wieder mit dem Befehl “exit” verlassen.
Wenn wir uns nun alle vorhandenen Container Ids anzeigen lassen (docker ps -a) , so werden wir festellen, dass diese mit der eines Nanoservers übereinstimmt.
Damit ist die Installation und das Testen abgeschlossen.
Wunderbar!