{"id":4030,"date":"2016-07-18T15:39:04","date_gmt":"2016-07-18T14:39:04","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=4030"},"modified":"2016-07-18T15:39:04","modified_gmt":"2016-07-18T14:39:04","slug":"docker2boot-auf-virtueller-hyper-v-maschine-betreiben","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/docker2boot-auf-virtueller-hyper-v-maschine-betreiben\/","title":{"rendered":"Docker2boot auf virtueller Hyper-V Maschine betreiben"},"content":{"rendered":"<p>Bislang l\u00e4uft Docker noch nicht nativ unter Windows, sondern greift auf eine Linux-VM zur\u00fcck. Daf\u00fcr wird in der sogenannten\u00a0<em>Docker-Toolbox <\/em>mit VirtualBox eine kostenfreie Virtualisierungsplattform mitgeliefert.\u00a0Mit Windows Server 2016 soll sich dies \u00e4ndern, Microsoft m\u00f6chte die Container in das Betriebssystem einbetten. Doch bis dahin bringt die aktuelle virtualisierte\u00a0L\u00f6sung Probleme mit sich: Wie bringt man Docker beispielsweise auf einem Hyper-V Host zum laufen?\u00a0Ein Parallelbetrieb mit VirtualBox ist hier nicht m\u00f6glich. Folgender Artikel zeigt daher, wie Docker2boot direkt aus einer Hyper-V VM gestartet werden kann &#8211; ganz ohne VirtualBox.<\/p>\n<h3><strong>Vorbereitung<\/strong><\/h3>\n<p>Am einfachsten l\u00e4sst sich Docker \u00fcber die\u00a0<a href=\"https:\/\/www.docker.com\/products\/docker-toolbox\" target=\"_blank\" rel=\"nofollow\">Docker Toolbox<\/a>\u00a0verwalten, zumal einem hier auch recht viel Konfigurationsarbeit abgenommen wird. Die Toolbox sollte daher installiert werden.\u00a0Leider ist VirtualBox eine Kernabh\u00e4ngigkeit, die in der Funktionsauswahl nicht entfernt werden kann:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/u-img.net\/img\/3358Jf.png\" \/><\/p>\n<p>Allerdings l\u00e4sst sich die Installation verhindern, wenn im sp\u00e4teren Schritt bei der Signatur des Treibers die Option\u00a0<strong>Nicht installieren<\/strong> gew\u00e4hlt wird:<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Hyper-V VM anlegen<\/strong><\/h3>\n<p>Die VM wird weder \u00fcber die PowerShell-CmdLets noch grafisch via Hyper-V Manager angelegt, sondern mittels eines Docker-Befehls. Dazu m\u00fcssen wir die Bezeichnung des virtuellen Netzwerkadapters ermitteln, welchen wir der VM zuweisen m\u00f6chten.\u00a0Um Docker-Images aus dem Netz zu laden, sollte ein Adapter mit Internetverbindung gew\u00e4hlt werden. Eine \u00dcbersicht aller virtuellen Netzwerkadapter sehen wir im\u00a0<strong>Hyper-V Manager<\/strong>, nachdem rechts auf\u00a0<strong>Manager f\u00fcr virtuelle Switches<\/strong> geklickt wurde.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/u-img.net\/img\/8288Of.png\" \/><\/p>\n<p>Der Name kann bequem aus dem Feld oben kopiert werden. Um die VM zu erstellen, \u00f6ffnen wir eine Kommandozeile (CMD\/PowerShell) und erzeugen sie mit folgendem Befehl:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ndocker-machine create --driver hyperv --hyperv-virtual-switch &quot;Name des Switches&quot; Docker\r\n<\/pre>\n<p>Dadurch wird eine VM namens\u00a0<strong>Docker<\/strong> erzeugt. Es kann einen Moment dauern, bis diese gestartet ist. Docker wird dies mit der Meldung\u00a0<em>Docker is up and running<\/em> best\u00e4tigen.<\/p>\n<h3><strong>Mit Docker arbeiten<\/strong><\/h3>\n<p>Um mit Docker zu arbeiten, muss\u00a0zun\u00e4chst eine Verbindung zur VM hergestellt werden.\u00a0In den Infos zur VM wird am Ende der Befehl genannt, mit dem dies bewerkstelligt werden kann:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/u-img.net\/img\/5669Qz.png\" \/><\/p>\n<p>In diesem Beispiel f\u00fcr die Windows PowerShell. Man kann nat\u00fcrlich auch die klassische Kommandozeile verwenden &#8211; Docker erkennt dies und past den Befehl dementsprechend an:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/u-img.net\/img\/5821Hb.png\" \/><\/p>\n<p>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\u00fchren des Hello World Containers an:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ndocker run hello-world\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bislang l\u00e4uft Docker noch nicht nativ unter Windows, sondern greift auf eine Linux-VM zur\u00fcck. Daf\u00fcr wird in der sogenannten\u00a0Docker-Toolbox mit VirtualBox eine kostenfreie Virtualisierungsplattform mitgeliefert.\u00a0Mit Windows Server 2016 soll sich dies \u00e4ndern, Microsoft m\u00f6chte die Container in das Betriebssystem einbetten. Doch bis dahin bringt die aktuelle virtualisierte\u00a0L\u00f6sung Probleme mit sich: Wie bringt man Docker beispielsweise &#8230;<\/p>\n","protected":false},"author":5,"featured_media":4033,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62,63],"tags":[497,498,297],"class_list":["post-4030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","category-windows-server","tag-docker","tag-docker2boot","tag-hyper-v"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/4030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=4030"}],"version-history":[{"count":5,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/4030\/revisions"}],"predecessor-version":[{"id":4222,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/4030\/revisions\/4222"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/4033"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=4030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=4030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=4030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}