Docker auf Windows Server 2016

Die Containervirtualisierung Docker ermöglicht es, Anwendungen und Dienste gekapselt auf einem System zu betreiben. Ein Container ist dabei immer eine laufende Instanz eines Images, also einer Vorlage. Das Image enthält dabei alle für die Ausführung des Programmes notwendigen Komponenten. Dies ist gerade im Test- und Entwicklungsbereich von Vorteil, wo schnell komplette Umgebungen erstellt und wieder gelöscht werden können. Auch die Distribution von Software zusammen mit Abhängigkeiten wie z.B. Bibliotheken wird vereinfacht. Software-Hersteller können so sichergehen, dass alle Komponenten des Systems auf einem vorgegebenen Stand sind, und diese durch Austausch des kompletten Images aktualisieren.

Zunächst wurde Docker im Bereich der Open-Source-nahen Unternehmen populär, seit einigen Jahren engagiert sich jedoch auch Microsoft in dem Projekt und beginnt, dieses selbst zu nutzen und in Windows zu integrieren. Zu beachten ist hier, dass Docker-Images nicht unbedingt plattform-übergreifend funktionieren. Wer Docker-Images von Microsoft-Produkten verwenden möchte, z. B. Microsoft Dynamics-NAV, muss als Host-System Windows Server 2016 (oder neuer) verwenden. Dies wird sicherlich neben technischen auch Produkt-politische Gründe haben.

Die Container-Funktion von Windows sowie Docker mit dazugehörigen Tools lassen sich am schnellsten über die Powershell installieren:


Install-Module -Name DockerMsftProvider -Repository PSGallery
Install-Package -Name docker -ProviderName DockerMsftProvider

Nach einem Neustart des Systems steht die Funktion zur Verfügung, und auch Docker ist als Befehl für Powershell/Cmd nutzbar.
Also Demo können z.B. die .Net-Samples verwendet werden:


PS C:\Users\administrator.lab> docker pull microsoft/dotnet-samples
Using default tag: latest
latest: Pulling from microsoft/dotnet-samples
bce2fbc256ea: Pull complete
6f2071dcd729: Pull complete
863748d63254: Pull complete
21d2b90aa63f: Pull complete
b929566da558: Pull complete
a22cee092593: Pull complete
973cd4bb63dd: Pull complete
1b9f58aa8144: Pull complete
562ceddbdf40: Pull complete
df7e5f325fc5: Pull complete
Digest: sha256:61f0d271b94b1747225d7126b9e9125dc1d69ca61cf0ef1ca50d0cd889153281
Status: Downloaded newer image for microsoft/dotnet-samples:latest

Wurde das Image erfolgreich heruntergeladen, sollte dieses in der Image-Übersicht aufgelistet werden:


PS C:\Users\administrator.lab> docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
microsoft/dotnet-samples   latest              76ac0714814b        5 days ago          1.27GB
microsoft/dynamics-nav     2017-cu22-de        9ebec86332f3        4 weeks ago         16.7GB
microsoft/dynamics-nav     2017-cu22           45f5de783708        4 weeks ago         16GB

Zum Test kann der Samples-Container gestartet werden:


PS C:\Users\administrator.lab> docker run --rm microsoft/dotnet-samples

Wir unterstützen Sie bei der Digitalisierung. Gerne beraten und unterstützen wir Sie in Bezug auf die Aktualisierung Ihrer IT-Umgebung und erstellen Ihnen ein individuelles Konzept oder Angebot. Kontaktieren Sie uns!