Mit Docker isolieren Sie Software in abgeschotteten Containern. Diese Technik spart Administrationsaufwand und eignet sich vor allem für die Web-Entwicklung sowie die saubere Trennung von Web-Diensten und Betriebssystem. [...]
6. DESKTOP-PROGRAMME STARTEN
Über Docker-Scripts lassen sich auch grafische Anwendungen sowie ein SSH-Server installieren. Vom Host aus verbinden Sie sich dann per SSH mit einem laufenden Container und können über X11-Forwarding auch Desktop-Programme anzeigen. Wie das geht, zeigt die Beispieldatei im Verzeichnis „docker-firefox“. Geben Sie in diesem Verzeichnis zunächst diesen Befehl ein:
docker build -t firefox .
Sollte Firefox laufen, beenden Sie das Programm. Danach geben Sie
docker run -ti –rm -e DISPLAY=$DISPLAY
-v /tmp/.X11-unix:/tmp/.X11-unix firefox
ein. Dabei erhalten Sie wahrscheinlich die Fehlermeldung „Error: cannot open display: :0“. Ursache dafür sind die Sicherheitseinstellungen des X-Servers, der für die Darstellung von Fenstern auf Ihrem Desktop zuständig ist. Geben Sie
xhost +
ein, damit sich X11-Clients auch von anderen Rechnern aus verbinden können, und führen Sie die „docker run“-Zeile erneut aus. Nun startet Firefox ohne Fehler. Das Verfahren hat jedoch Nachteile. Ein so gestartetes Programm liegt zwar im Docker-Container, läuft aber im Kontext des lokalen X-Servers. Ist hier bereits Firefox gestartet, übernimmt die neue Firefox-Instanz dessen Arbeitsverzeichnis, Plug-ins und Add-ons. Damit entfällt die Trennung von Host-System und Container. „xhost +“ reduziert außerdem die Sicherheit. Im Heimnetz ist das kein Problem, in Firmennetzen ist diese Einstellung jedoch nicht zu empfehlen.
Einen anderen Ansatz verfolgt das Image „docker-desktop“. Die dort erwähnten Kommandos haben wir in unserer Beispieldatei im Verzeichnis „docker-desktop“ in den Scripts „1_build-docker-desktop.sh“ und „2_start-docker-desktop.sh“ untergebracht, die Sie nacheinander starten. Das über das Dockerfile erstellte Image enthält einen SSH-und X-Server sowie den Display-Manager xdm. Nach dem Start des zweiten Scripts erfolgt die Verbindung über ssh, wobei Sie das auf dem Bildschirm angezeigte Passwort für die Anmeldung eingeben. Im Container starten Sie dann etwa xterm, firefox oder libreoffice. Alternativ kommt das Tool xpra für die Anzeige des gesamten Desktops zum Einsatz. Dieses Verfahren ist deutlich sicherer, derzeit jedoch noch nicht stabil. Bei unseren Tests starteten die Scripts im Container nicht immer zuverlässig.
Be the first to comment