Nachdem der Thread in Programmierungsforum von Trollen übernommen wurde, versuche ich mein Glück mal hier. Ich habe nun ein wenig über Docker gelesen und ein paar Sachen sind mir nicht klar, bzw frage ich mich, ob das möglich ist. Wenn ich daheim einen Linuxserver habe (ohne GUI, nur SSH), kann ich dann da zB einen Container mit Firefox bauen und den von einem anderen Rechner aus nutzen? Also zB per Remotedesktop von Windows aus verbinden und den Browser so nutzen als wäre er lokal installiert. Oder Chromium. Oder Thunderbird. Angeblich soll ja auch wine in Docker gehen. Muß man da dann auch das Windowsprogramm mit in den Container packen (also pro Programm ein Container), oder macht man einen wine-Container, mittels dem man dann andere Programme startet (wenn ja, wie)? Geht da der Zugriff dann auch Remote (alles im LAN)? Hintergrund der Frage ist, daß ich damit Programme "dockern" könnte, diese am Server ablege und von jedem Rechner aus Nutzen kann, unabhängig vom OS. Klingt auch verlockend daß das Programm nach dem Restart des Containers wieder "frisch" ist.
Ducker schrieb: > Wenn ich daheim einen Linuxserver habe (ohne GUI, nur SSH), kann ich > dann da zB einen Container mit Firefox bauen und den von einem anderen > Rechner aus nutzen? Du brauchst weiterhin einen X-Server. Den kannst du grundsätzlich auch in Docker laufen lassen. Wenn du aber die Hardware nicht weitergibst, ist die Performance schlecht. Du kannst natürlich auch deinen lokalen X-Server an den (remote laufenden) Container weitergeben. Das ist aber ein Sicherheitsproblem, gerade wenn du unterwegs bist. Ducker schrieb: > Also zB per Remotedesktop von Windows aus verbinden > und den Browser so nutzen als wäre er lokal installiert. Oder Chromium. > Oder Thunderbird. Grundsätzlich geht das, aber wie gesagt, du brauchst einen X-Server. Ducker schrieb: > Angeblich soll ja auch wine in Docker gehen. Muß man da dann auch das > Windowsprogramm mit in den Container packen (also pro Programm ein > Container), oder macht man einen wine-Container, mittels dem man dann > andere Programme startet (wenn ja, wie)? Geht da der Zugriff dann auch > Remote (alles im LAN)? Das System im Container ist erstmal weitestgehend abgeschottet. Im Prinzip hast du drei Möglichkeiten: 1. Du legst das Programm mit in das Image 2. Du legst das Programm auf deine (lokale) Festplatte und hängst das Verzeichnis als Volume in den Container ein 3. Dein Container mountet eine SMB/NFS Freigabe und lädt das Programm von da aus Ducker schrieb: > Hintergrund der Frage ist, daß ich damit Programme "dockern" könnte, > diese am Server ablege und von jedem Rechner aus Nutzen kann, unabhängig > vom OS. Das geht nur begrenzt. Das meinst du wahrscheinlich gerade nicht. Aber du kannst einen Windows Container nicht auf Linux ausführen und umgekehrt. Mit dem Umweg über Wine kann aber natürlich die Ausführung von Windows Programmen unter Linux funktionieren. Ducker schrieb: > Klingt auch verlockend daß das Programm nach dem Restart des Containers > wieder "frisch" ist. Manchmal möchtest du das ja gar nicht. Vielleicht, weil du Favoriten oder die Chronik im Browser behalten willst. Dann kannst du dein Dateisystem als Volume einhängen, bleibt dann aber nicht mehr "frisch". Ducker schrieb: > Nachdem der Thread in Programmierungsforum von Trollen übernommen wurde, > versuche ich mein Glück mal hier. Ja, die sind echt nervig.
Vielen Dank für die Erklärungen! Hans schrieb: > Du brauchst weiterhin einen X-Server. Den kannst du grundsätzlich auch > in Docker laufen lassen. Wenn du aber die Hardware nicht weitergibst, > ist die Performance schlecht. Du kannst natürlich auch deinen lokalen > X-Server an den (remote laufenden) Container weitergeben. Das ist aber > ein Sicherheitsproblem, gerade wenn du unterwegs bist. D.h. ein NAS was auch Docker kann wäre eine schlechte Anschaffung, weil ich dort wahrscheinlich keinen X installieren kann, sondern den auch dockern müßte was aber auf die Leistung schlägt? > 3. Dein Container mountet eine SMB/NFS Freigabe und lädt das Programm > von da aus Das klingt für mich am praktikabelsten > Das geht nur begrenzt. Das meinst du wahrscheinlich gerade nicht. Aber > du kannst einen Windows Container nicht auf Linux ausführen und > umgekehrt. Mit dem Umweg über Wine kann aber natürlich die Ausführung > von Windows Programmen unter Linux funktionieren. Die Container sollen nur am Linuxserver laufen; andere Rechner greifen dann nur remote darauf zu. > Manchmal möchtest du das ja gar nicht. Vielleicht, weil du Favoriten > oder die Chronik im Browser behalten willst. Dann kannst du dein > Dateisystem als Volume einhängen, bleibt dann aber nicht mehr "frisch". Wenn ich es richtig verstehe, kann ich nur einzelne Dateien in den Container rein- (bzw raus-) mounten. Bei Firefox die Bookmarksdatei, oder die (glaube ich) places.sqlite.
Ducker schrieb: > D.h. ein NAS was auch Docker kann wäre eine schlechte Anschaffung, weil > ich dort wahrscheinlich keinen X installieren kann, sondern den auch > dockern müßte was aber auf die Leistung schlägt? Das wäre wahrscheinlich tatsächlich nicht wirklich sinnvoll, da du bei dem NAS oft auch eingeschränkt bist, was das Durchreichen von Hardware angeht bzw. du die Hardware auch gar nicht hast. Ein NAS ist ja eher Headless und oft gar keine Grafik vorgesehn. Da ist aber natürlich auch die Frage, inwiefern Performance wichtig ist. Bei einem Webbrowser solltest du schon Hardwarebeschleunigung haben. Ein Mailclient läuft auch ohne ganz gut. Ducker schrieb: >> 3. Dein Container mountet eine SMB/NFS Freigabe und lädt das Programm >> von da aus > Das klingt für mich am praktikabelsten Dazu musst du allerdings das Image selbst erstellen oder ein vorgefertigtes Image anpassen. Ducker schrieb: > Wenn ich es richtig verstehe, kann ich nur einzelne Dateien in den > Container rein- (bzw raus-) mounten. Bei Firefox die Bookmarksdatei, > oder die (glaube ich) places.sqlite. Genau. Du kannst entweder ganze Verzeichnisse oder einzelne Dateien mounten.
Ducker schrieb: > Wenn ich daheim einen Linuxserver habe (ohne GUI, nur SSH), kann ich > dann da zB einen Container mit Firefox bauen und den von einem anderen > Rechner aus nutzen? Kann man, aber das ist nicht der Sinn und Zweck von Docker. Das geht ohne Docker deutlich einfacher. Mit oder ohne Docker, in beiden Fällen muss der X-Server muss auf dem Rechner mit dem den Bildschirm laufen. Das Anwendungsprogramm (z.B. Firefox) sendet seine grafischen Ausgaben übers Netzwerk an den X-Server. Auf der Arbeit nutze ich einen Linux PC am Arbeitsplatz (wäre auch mit Windows machbar). Mein Desktop PC ist der X-Server. Per ssh logge ich mich auf einem Server im Rechenzentrum ein und führe Kommandos aus. Wenn ich auf dem Server ein grafisches Programm starte, dann erscheint dessen Fenster auf meinem Bildschirm. Und natürlich reagiert das dann auch auch meine Tastatur/Maus Eingaben. Umleitung von Multimedia (Audio, Video) ist da aber nicht mit drin. Entsprechend kann ich einen Web Browser auf diese Art nur eingeschränkt nutzen. Zudem laufen Programme mit Pixe-lBasierter Ausgabe sehr träge. Das betrifft alle Web Browser und die meisten Java Programme, da dort das gesamte Fenster ein großes generiertes Bild ist. Anwendungen mit nativen Widget basierten Dialogen laufen hingegen deutlich flüssiger, weil sie ihre Bilder aus geometrischen Figuren (Linien und Flächen) zusammen setzen.
Stefan F. schrieb: > Zudem laufen Programme mit Pixe-lBasierter Ausgabe sehr träge. Das > betrifft alle Web Browser und die meisten Java Programme, da dort das > gesamte Fenster ein großes generiertes Bild ist. Und das ist eben einer der Gründe, aus denen du kein X11 Forwarding willst.
"Du kannst natürlich auch deinen lokalen X-Server an den (remote laufenden) Container weitergeben. Das ist aber ein Sicherheitsproblem, gerade wenn du unterwegs bist." Deswegen ist es seit einer Ewigkeit Stand der Technik das X11 Forwarding von SSH zu nutzen und nicht den direkten Weg über Port 6000+Displaynummer zu gehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.