Docker2boot auf virtueller Hyper-V Maschine betreiben

Docker2boot auf virtueller Hyper-V Maschine betreiben

Bislang läuft Docker noch nicht nativ unter Windows, sondern greift auf eine Linux-VM zurück. Dafür wird in der sogenannten Docker-Toolbox mit VirtualBox eine kostenfreie Virtualisierungsplattform mitgeliefert. Mit Windows Server 2016 soll sich dies ändern, Microsoft möchte die Container in das Betriebssystem einbetten. Doch bis dahin bringt die aktuelle virtualisierte Lösung Probleme mit sich: Wie bringt man Docker beispielsweise auf einem Hyper-V Host zum laufen? Ein Parallelbetrieb mit VirtualBox ist hier nicht möglich. Folgender Artikel zeigt daher, wie Docker2boot direkt aus einer Hyper-V VM gestartet werden kann – ganz ohne VirtualBox.

Vorbereitung

Am einfachsten lässt sich Docker über die Docker Toolbox verwalten, zumal einem hier auch recht viel Konfigurationsarbeit abgenommen wird. Die Toolbox sollte daher installiert werden. Leider ist VirtualBox eine Kernabhängigkeit, die in der Funktionsauswahl nicht entfernt werden kann:

Allerdings lässt sich die Installation verhindern, wenn im späteren Schritt bei der Signatur des Treibers die Option Nicht installieren gewählt wird:

 

Hyper-V VM anlegen

Die VM wird weder über die PowerShell-CmdLets noch grafisch via Hyper-V Manager angelegt, sondern mittels eines Docker-Befehls. Dazu müssen wir die Bezeichnung des virtuellen Netzwerkadapters ermitteln, welchen wir der VM zuweisen möchten. Um Docker-Images aus dem Netz zu laden, sollte ein Adapter mit Internetverbindung gewählt werden. Eine Übersicht aller virtuellen Netzwerkadapter sehen wir im Hyper-V Manager, nachdem rechts auf Manager für virtuelle Switches geklickt wurde.

Der Name kann bequem aus dem Feld oben kopiert werden. Um die VM zu erstellen, öffnen wir eine Kommandozeile (CMD/PowerShell) und erzeugen sie mit folgendem Befehl:

docker-machine create --driver hyperv --hyperv-virtual-switch "Name des Switches" Docker

Dadurch wird eine VM namens Docker erzeugt. Es kann einen Moment dauern, bis diese gestartet ist. Docker wird dies mit der Meldung Docker is up and running bestätigen.

Mit Docker arbeiten

Um mit Docker zu arbeiten, muss zunächst eine Verbindung zur VM hergestellt werden. In den Infos zur VM wird am Ende der Befehl genannt, mit dem dies bewerkstelligt werden kann:

In diesem Beispiel für die Windows PowerShell. Man kann natürlich auch die klassische Kommandozeile verwenden – Docker erkennt dies und past den Befehl dementsprechend an:

Nachdem die Verbindung zur VM mit dem jeweiligen Befehl hergestellt wurde, kann Docker ganz normal genutzt werden. Um die korrekte Funktion sicherzustellen, bietet sich das Ausführen des Hello World Containers an:

docker run hello-world

Leave a Reply