Docker Container mit Windows Admin Center erstellen, ausführen und verwalten

    Container-Tool im Windows Admin CenterDie Version 2009 von Windows Admin Center (WAC) brachte auch ein Update der Container-Extension, mit der sich das Container-Feature auf einem Host instal­lieren lässt. Darüber hinaus kann man damit Images er­stellen und auf dieser Basis Container aus­führen. Hinzu kommt ein ein­faches Monitoring.

    Als Microsoft in Windows 10 1607 und Server 2016 die Unterstützung für Docker-Container einführte, standen dafür keine (grafischen) Management-Tools zur Verfügung, mit der sich das Feature durchgängig verwalten ließ. Wie diese Anleitung zeigt, bedurfte es bisher einer ganzen Reihe von manuellen Schritten (zumeist auf der Kommandozeile), bis man einen Container zum Laufen brachte.

    Die in WAC 2009 enthaltene Container-Erweiterung (Version 1.121.0) macht es deutlich einfacher, Container unter Windows zu nutzen. Sie deckt das ganze Spektrum vom Installieren des Features über das Erstellen von Images bis zum Ausführen von Containern ab.

    Container-Unterstützung auf dem Host hinzufügen

    Verbindet man sich in WAC mit einem Rechner, der die Container-Unterstützung noch nicht installiert hat, und wechselt zum Menüpunkt Container, dann bietet das Tool das Hinzufügen desselben an. Das klappt sowohl bei Windows Server als auch bei Windows 10.

    Fehlt auf einem Host das Container-Feature, dann bietet die WAC-Extension an, sie zu installieren.

    Während bei Windows Server eine Bare-Metal-Installation oder eine virtuelle Maschine reichen, muss das Client-OS fähig sein, zusätzlich auch Hyper-V zu aktivieren. Der Grund besteht darin, dass alle verfügbaren Container-Images auf Windows Server beruhen und daher nicht direkt auf Windows 10 laufen können.

    Container-Image erstellen

    Nach dem Hinzufügen des Container-Features und dem fälligen Neustart zeigt sich die WAC-Extension mit ihren Funktionen. Neben dem Menüpunkt Zusammenfassung, über den man einige Statistiken abrufen kann, sind vor allem die Register­karten Images und Container von Bedeutung.

    Jeder Container beruht auf einem Image, so dass man im ersten Schritt ein solches entweder selbst erzeugt oder ein vorhandenes aus einem Repository herunterlädt. Wählt man Neu erstellen, dann erhält man einen Dialog, der das Anlegen eines Dockerfile für einen Container-basierten Web-Server mit einem Formular etwas vereinfacht.

    Das Formular vereinfacht das Erstellen eines Dockerfile. Dieses kann man dann mit eigenen Einträgen erweitern.

    Über die ersten beiden Pulldown-Menüs bestimmt man bereits das Image, das vom Docker Hub herunter­geladen werden soll, zumindest wenn man sich für die statische Website entscheidet. Bei eigenen Web-Projekten ermittelt das Tool nach Auswahl des .NET-Frameworks, welches Image geeignet ist.

    Die beiden letzten Eingabefelder führen mit schlecht übersetzten Beschrif­tungen in die Irre. Die Bildbezeichnung meint den Namen des Images und das Bild-Tag bezieht sich ebenfalls auf das Abbild. Als Tag kommt primär eine Versionsnummer in Frage.

    Wie man schnell erkennt, generiert das Formular auf Basis der sechs Eingabe­felder nur ein rudimentäres Dockerfile. Weitergehende Anpassungen kann man jedoch gleich in der unten ein­geblendeten Vorschau vornehmen. Über die dort verfügbaren Anweisungen und deren Syntax informiert die Dokumentation.

    Erstellt man ein Abbild für einen Web-Server, dann dürfte es ein gängiges Anliegen sein, diesen nachher remote über den IIS-Manager zu verwalten. Voraussetzung dafür ist unter anderem die Installation des Verwaltungs­dienstes auf dem Host. Dies lässt sich über das Dockerflie automatisieren, Microsofts Developer-Blog zeigt, wie es geht.

    Images herunterladen

    Will man mit einem der Standard-Images für Windows starten, dann kann man diese über den Befehl Pull herunterladen. Er öffnet ein Formular, in das man das Repository sowie das Image-Tag (das Feld ist fälschlich mit Markieren beschriftet) eingeben kann.

    In der Regel wird man den einfacheren Weg beschreiten, wenn man eines der generischen Abbilder haben möchte, und das gewünschte unter dem Link Allgemeine Windows-Images auswählen.

    Die WAC-Extension bietet auch ein grafisches Interface für docker pull. Die Standard-Images sind schon vorgegeben.

    Klappt man die Sektion unter den einzelnen Kategorien auf, dann stehen dort die verschiedenen Versionen von Windows zur Auswahl. Welche man nimmt, ist nicht den persönlichen Vorlieben überlassen. Vielmehr muss man ein Image aussuchen, das zur Version des Container-Hosts passt.

    Container erzeugen

    Zu diesem Zweck markiert man das betreffende Abbild und klickt auf den Menüpunkt Ausführen. Dies öffnet ein weiteres Formular, mit dem man den Container und seine Ablaufumgebung anpassen kann.

    Wie beim Erstellen eines neuen Images hat auch hier das Formular die Aufgabe, den Benutzer von der Docker-Syntax abzuschirmen. Während es im ersten Fall darum geht, das Erzeugen eines Dockerfile zu vereinfachen, hilft WAC hier dabei, die Parameter für docker run auszusuchen.

    WAC hilft dabei, den Befehl docker run zusammenzustellen.

    Über die Eingabefelder legt man den Namen des Containers, den verfügbaren Arbeitsspeicher sowie die Zahl der CPUs fest, die ihm zugewiesen werden sollen. Wichtig ist die Definition des Port-Mapping unter Port(s) veröffentlichen. Der erste Teil vor dem Doppelpunkt bestimmte den Port auf dem Host, unter dem der Port des Containers erreichbar sein soll.

    Der vorgegebene Wert 8000:80 besagt also, dass Port 80 des Containers unter Port 8000 des Host ansprechbar sein soll. Läuft im Container ein Web-Server, dann würde man ihn in diesem Beispiel über eine Adresse nach dem Muster http://ContainerHost.contoso.com:8000 erreichen.

    Beim Mapping 8000:80 ist die Startseite der IIS im Container über Port 8000 des Hosts erreichbar.

    Parameter, die nicht über das Formular abgedeckt sind, kann man eingeben, indem man das entsprechende Eingabefeld unter Hinzufügen öffnet. Die Befehls­referenz für docker run findet sich in der Docker-Dokumentation.

    Container verwalten

    Hat man einen Container gestartet, dann taucht er in der Registerkarte Container neben allen anderen auf, die gerade ausgeführt werden. Markiert man einen davon, dann öffnet sich im unteren Teil des Fensters die Detailansicht.

    Dort zeigt WAC in Echtzeit die Auslastung von CPU und RAM an. Interessant ist auch die Möglichkeit, von dort die Ereignisse aus dem Logfile abzurufen und Details zum Container einzusehen.

    Eine wesentliche Anforderung ist es auch bei Containern, sich mit diesen verbinden und über eine Kommandozeile verwalten zu können. Diesem Zweck soll offenbar der Tab Konsole im unteren Fenster­abschnitt dienen. Er baut jedoch nur eine PowerShell-Session zum Host auf.

    Über docker exec erhält man eine PowerShell-Session im Container.

    Um jedoch mit PowerShell im Container zu landen, gibt man auf der Konsole des Container-Hosts den Befehl

    docker exec -ti <Name-des-Containers> powershell

    ein.

    Keine Kommentare