Female photographer - stock.adob

So setzen Sie virtuelle Desktops mit Docker und Linux um

Lesen Sie in diesem Artikel, wie Sie eine VDI-Umgebung mit Linux im Netzwerk aufbauen, damit Anwender auch ohne Client direkt über den Browser auf den Desktop zugreifen können.

Der Zugriff mit dem Webbrowser auf eine VDI-Umgebung mit Linux ist vor allem dann interessant, wenn Sie Anwendern Büroanwendungen oder andere Unternehmenssoftware zur Verfügung stellen wollen, ohne zusätzliche Linux-PCs oder virtuelle Maschinen auf Workstations zu installieren. Mit einem einzelnen Linux-Server lassen sich nahezu beliebig viele Desktops bereitstellen

Der eigene Linux-Terminalserver im Netzwerk bietet viele Vorteile

Dabei muss es sich nicht einmal um einen physischen Linux-Server handeln; eine entsprechend leistungsstarke virtuelle Maschine mit Ubuntu genügt. Es ist möglich, das System so zu konfigurieren, dass die Nutzer über eine Webschnittstelle auf die Desktops zugreifen. Aus Sicherheitsgesichtspunkten sollte dieser Zugriff über das interne Netzwerk erfolgen.

Noch platzsparender wird die VDI, wenn Sie Docker-Container einsetzen, um sie zu hosten – beispielsweise mit Proxmox.

Docker als Grundlage für den Linux-Terminalserver installieren

Als Basis für den Linux-Terminalserver verwenden wir in dieser Anleitung Docker. Das Installieren und Einrichten erfordert Root-Rechte, sodass Sie entweder eine Shell mit Root-Rechten brauchen oder Sie führen die Befehle mit sudo aus. Der erste Schritt für den Linux-Terminalserver ist die Installation von Docker mit:

sudo apt install docker.io && sudo apt install docker-compose

Selbstverständlich ist es sinnvoll den Server zuvor auf den aktuellsten Stand zu bringen:

sudo apt update && sudo apt upgrade

In einer einfachen Struktur wird Benutzern in kleinen Umgebungen jeweils ein eigener Linux-Desktop zur Verfügung gestellt, der sich vom Benutzer anpassen lässt. Dazu sollte auf dem Linux-Server zunächst für jeden Desktop ein Verzeichnis vorhanden sein, in dem die jeweiligen Daten des virtuellen Desktops liegen. Das geht im Terminal zum Beispiel mit:

mkdir /desktop1

mkdir /desktop2

usw.

Mit Webtops erhält jeder Anwender seinen eigenen Linux-Desktop im Netzwerk

Sie können übrigens auf jedem der Desktops eine andere Distribution installieren, wenn Sie das möchten. Zu Bereitstellen verwenden wir das Projekt Webtops, das auf dem Docker-Hub verfügbar ist. Auf der Seite sind die verschiedenen Distributionen zu sehen, auf deren Basis jeder Anwender einen eigenen Webtop/virtuellen Linux-Desktop erhält.

Linux-Distributionen, für die es Webtops gibt
Abbildung 1: Im Webtop-Projekt stehen zahlreiche Linux-Distributionen zur Verfügung, mit denen Anwender einen eigenen Linux-Desktop im Webbrowser öffnen können.

Standardmäßig nutzt das Webtop-Projekt XFCE mit Alpine. Es stehen aber eine Reihe weiterer Umgebungen zur Verfügung, wie zum Beispiel KDE mit Ubuntu, Arch-Linux oder Fedora.

Docker-Compose-Datei für den ersten virtuellen Desktop erstellen

Um einen virtuellen Linux-Desktop bereitzustellen, wird zunächst eine neue Docker-Compose-Datei erstellt, zum Beispiel mit dem Editor nano:

nano docker-compose.yaml

Jetzt nehmen Sie die Einstellungen für die Linux-Desktops vor, indem Sie den Inhalt der Datei anpassen. Verschiedene Vorlagen sind auf der Docker-Hub-Seite des Projektes zu finden.

Screenshot der Einstellungen für Docker COmpose
Abbildung 2: Konfigurieren der Docker-Compose-Datei für den neuen virtuellen Linux-Desktop.

Wichtig ist, dass in der Spalte image: lscr.io/linuxserver/webtop:latest der richtig Tag für den virtuellen Desktop angegeben ist. Die Tags der einzelnen Distributionen sind wiederum auf der Docker-Hub-Seite des Projektes zu finden. Bei container_name geben Sie den Namen des Containers für den jeweiligen virtuellen Desktop an. Dieser sollte idealerweise dem Namen des erstellten Verzeichnisses entsprechen. Die Zeitzone des Desktops steuert die Zeile TZ=. Hier ist in Deutschland die Einstellung TZ=Europe/Berlin die richtige. Außerdem sollten Sie unter KEYBOARD das deutsche Tastaturlayout einstellen.

Im Bereich Volumes hinterlegen Sie die Pfade für die virtuellen Desktops. Hier verwenden Sie die Pfade, die Sie im Vorfeld angelegt haben. Zusätzlich ist es möglich für unterschiedliche Desktops verschiedene Ports für den Zugriff zu nutzen. Der Arbeitsspeicher lässt sich ebenfalls in der YAML-Datei des virtuellen Desktops festlegen.

Virtuellen Desktop mit Docker Compose erstellen

Nachdem Sie die Docker-Compose-Datei bearbeitet haben, starten Sie als nächstes Docker-Compose:

docker-compose up -d

Das Tool erstellt Container anhand der Datei docker-compose.yaml.

Erstellen eines neuen Desktops
Abbildung 3: Erstellen eines neuen, virtuellen Desktops.

Der Vorgang dauert einige Zeit. Danach meldet Docker Compose, dass der Desktop bereitsteht, den Sie unter http://<IP-Adresse>:3000 finden.

Virtueller Desktop in der Praxis

In der Praxis sollten Sie darüber nachdenken, mit HTTPS die Sicherheit zu verbessern und auch eine Authentifizierung einzubauen. Die entsprechenden Optionen dazu gibt es auf der Docker-Hub-Seite des Projektes. Auch Audiowiedergabe und andere Funktionen lassen sich nutzen. Anwender können auf dem virtuellen Desktop Programme installieren, wie bei herkömmlichen Linux-Systemen.

Zugriff auf den Linux-Desktop im Webbrowser
https://cdn.ttgtmedia.com/rms/German/webtop-05.jpg

Benutzer sollten in ihren Desktops das Standardkennwort abändern. Wenn Sie in der URL noch die Erweiterung „?login=true“ verwenden, erzwingen Sie die Anmeldung. Nun kennen Sie die Grundlagen virtueller Linux-Desktops mit Webtop. Von hier aus haben Sie zahlreiche Möglichkeiten, die VDI nach Ihren Vorstellungen anzupassen. So gibt es Optionen für Hardwarebeschleunigung und Unterstützung für NVIDIA-Grafikkarten, wenn Ihre Anwender GPUs benötigen.

Erfahren Sie mehr über Server- und Desktop-Virtualisierung

ComputerWeekly.de
Close