Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Virtualisierung mit Docker

Virtuelle Desktops bereitstellen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Virtual Desktop Infrastructure (VDI) ist das Modewort in Sachen Virtualisierung für Thin Clients. In diesen Bereichen bietet Docker ungeahntes Potenzial, welches hier anhand einer beispielhaften Bereitstellung demonstriert wird.

Transkript

Eine der größten Visionen von Virtualisierung ist VDI oder auch Virtual Desktop Infrastructure. Ziel dieses Konzeptes ist es beispielsweise Mitarbeitern geschlossener Desktop- Umgebungen bereitzustellen, die das jeweilige Hostsystem nicht kompromittieren können, um letztendlich so Kosten für Einzelplatzrechner zu sparen und Desktops zentral bereit zu stellen. Wenn auch es nicht Ziel ist von Docker genau dies möglich zu machen, bietet Docker interessante Möglichkeiten ein solches Konzept zu realisieren. Wie das im Einzelnen funktionieren kann, möchte ich Ihnen nun zeigen. Zunächst einmal kann man Docker also als Platform as a Service betrachten, in dem geschlossene Linux- Installationen existieren, auf denen möglicherweise auch ein virtueller X Server laufen kann. Also die Komponente, die bei Linux dafür zuständig ist, dass ein Desktop dargestellt wird. Da die Architektur dieser Komponente auch eine Remote-Benutzung vorsieht, sollte es dementsprechend einfach sein einen solchen X Server zu nutzen, um Anwendungen in einer Docker- Instanz remote ausführen zu können. Um solch einen X Server nun auf der Windows-Plattform zu benutzen, benötigt man entsprechend einen X Server der auf der Windows-Plattform laufen kann. Eine mögliche Variante hierfür ist Xming oder alternativ der mit Mobile XTerm mitgelieferte X Server. Ist dieser X Server nun also grün, so ist ein X Server auf meinem Windows Rechner nun am Laufen. Als nächstes benötige ich eine Linux-Installation auf Docker, die einen so genannten SSH-Daemon beinhaltet. In diesem Fall nutze ich die Installation tutum/centos und binde den Port 22 des Containers an den Port 2222 des Docker-Hosts. Wenn ich das Ganze an dieser Stelle nun ausführe, so erhalte ich zusätzlich ein Password für den Root-Benutzer. Bevor ich mich allerdings nun mit der Maschine verbinde, muss ich zusätzlich noch einen SSH-Tunnel einrichten. Dies mache ich unter den Reiter SSH Tunnels, stelle hier auf dem Port Remote und trage die Verbindungsdaten für den Port 6000, der entsprechend auf meinem Computer auf den Port 6000 zeigt. Ich klicke auf Add und was nun bei Aufnahme der Verbindung geschehen wird ist, dass entsprechend auf der Maschine der Port 6000 geöffnet wird und auf meine lokale Maschine, also meinen Windows-Rechner, mit dem Port 6000 zeigt 6000 ist im Übrigen der Standard Port für X Server Verbindungen. Ich nehme also nun entsprechend diese Verbindung auf, werde über den SSG-Schlüssel gewarnt und logge mich nun mit dem Root-Benutzer und dem entsprechenden Password ein. In diesem Moment befinde ich mich nun auf der soeben erstellten Docker-Maschine. Eine typische Beispielanwendung für die X Server ist die so genannte X Clock- Diese installiere ich nun in den Container hinein mit Hilfe des Yum Paketmanagers. Entsprechend werden alle Abhängigkeiten für den X Server aufgelöst und die X Clock installiert. Ich bestätige die Installation also nun mit Ja und sehe dann, wie die nötigen Pakete heruntergeladen und installiert werden. Wenn ich nun versuche die Anwendung X Clock auszuführen, so erhalte ich zunächst eine Fehlermeldung, dass das Display nicht geöffnet werden kann. An der Stelle ist es für mich nötig zu definieren, dass das Display sich auf der IP 127.001, also aus Sicht des Containers dort befindet. Ich bestätige diese Eingabe und starte nun den X Clock-Befehl An dieser Stelle erscheint die Anwendung X Clock nun entsprechend auf meinem Desktop. Das interessante hierbei ist, dass die X Clock nun völlig auf dem Server an sich betrieben wird, was auch erkennbar ist am Hostname, allerdings auf meiner Maschine nun zu sehen ist. Das bloße Ausführen einer X Anwendung ist allerdings nicht sehr performant und unter Umständen auch nicht sehr zufriedenstellend. Schließlich möchte ich gesamte Desktops virtualisieren. Für die Virtualisierung von Desktops bietet sich mir also nun die Möglichkeit über X2Go an. X2Go ist eine besondere Art von Kopplung für den X Server. Mit diesem ist es möglich, ähnlich wie mit dem Remote Desktop Protocol von Windows, relativ effizient auch über Internet Netzwerkstrecken Desktops verfügbar zu machen. Der Thin Client von X2Go ist wiederum auch auf fast allen gängigen Plattformen verfügbar. Das bedeutet Windows, Mac OS X als auch Linux. Und praktischerweise ist für Docker ein fertiges Image abrufbereit um den X2Go Server Out of the Box nutzen zu können. Ich begebe mich nun also auf meinen Docker-Host und lade entsprechend das Image paimpozhil/docker-x2go-xubuntu herunter und führe es entsprechend hier mit dem Port 22 des Containers gebunden auf die Hostmaschine mit 2222 aus. Ich bestätige also an dieser Stelle wieder mit Enter und bekomme hier ein Password für den Nutzer Docker X, einen beschränkten Nutzer innerhalb des Containers, als auch das Password für den Root-Benutzer. Ich verwende nun das Password des Root-Benutzers weiterhin und kopiere es daher. Als Nächstes benötige ich die Client-Software von X2Go. Diese finde ich unter wiki.x2go.org über Installing X2Go hier den X2Go Client und dann wähle ich entsprechend meiner Plattform, in diesem Fall Microsoft Windows. In dem Ordner navigiere ich nun zu Releases und entsprechend zu dem neusten Release um die setup.exe herunterzuladen. Sobald der Client nun installiert ist, muss ich zunächst eine Sitzung für die entsprechenden Hosts anlegen. Dafür erhalte ich diesen Dialog, in dem ich zunächst einmal den Host, also die IP meiner Docker-Maschine eintrage. Als nächstes die Nutzerkennung Root und wohlgemerkt den Port 2222. Bei der Sitzungsart handelt es sich um XFCE. Sollte das Ganze über eine Internetleitung laufen, sollte man bei der Verbindungsgeschwindigkeit entsprechende Anpassungen machen. um ein möglichst gutes Verhalten des Desktops zu erhalten. In diesem Fall ist die Verbindung lokal und aus diesem Grund kann die beste Qualität ausgewählt werden. Über Ein- und Ausgabe kann nun die Größe des Bildschirms bestimmt werden als auch die Möglichkeit mehrere Bildschirme auf einmal zu nutzen. Außerdem ist es möglich Einstellungen über die Zwischenablage der Host-Maschine und des entsprechenden bereitgestellten Desktops zu tätigen. Über Medien ist es zusätzlich möglich Audiounterstützung zu aktivieren und entsprechend Ton der remote Maschine zu hören. Mit Hilfe von freigegebenen Ordnern können Ordner auf der Host-Maschine in den entsprechenden Session-Host übertragen werden und dort auch entsprechend genutzt werden. Insofern ich nun mit meinen Einstellungen zufrieden bin, bestätige ich mit Ok, klicke nun auf die Verbindung und gebe das Passwort für den Root-Benutzer ein. Ich bestätige wiederum mit Ok und warte auf die Herstellung einer Verbindung. Und schon sehe ich nun den Desktop der erstellten Maschine. Sollte ich mich an dieser Stelle an der Größe stören, so kann ich das Fenster einfach maximieren und enthalte nun einen vollständigen Bildschirm. Ich bestätige hier an dieser Stelle mit der Deafult Konfiguration und sehe nun das Betriebssystem. Innerhalb dieses Systems funktioniert alles wie gewohnt. Wenn ich beispielsweise den Browser aufrufe, so kann ich auch frei im Internet navigieren. Die Internetverbindung wird entsprechend über den Docker-Host aufgebaut. Alle anderen Anwendungen funktionieren weitestgehend uneingeschränkt. Der Task Manager zeigt mit lediglich die Prozesse des aktuellen Containers. Wenn ich nun für jeden Benutzer einen eigenen Container erstelle, so kann kein Nutzer den anderen Nutzer beeinflussen. Innerhalb der letzten Minuten haben Sie nun also sowohl eine X Anwendung remote auf einer virtuellen Maschine bzw. einem Docker-Container ausgeführt als auch einen vollständigen Desktop innerhalb kurzer Zeit bereitgestellt. Möglich machten das vorwiegend der Windows X Server für die remote Bereitstellung einer Desktop-Anwendung als auch die Software X2Go um einen gesamten Desktop bereitzustellen.

Virtualisierung mit Docker

Steigen Sie in die Container-Virtualisierung ein und entdecken Sie einfaches Prototyping neuer und unkomplizierte Skalierung bestehender Anwendungen.

3 Std. 36 min (36 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!