Verständnis-Frage zum Docker-Container

heldausberlin

heldausberlin

Aktives Mitglied
Thread Starter
Dabei seit
01.05.2004
Beiträge
13.873
Reaktionspunkte
340
Ich will meinen Pi neu aufsetzen und überlege, die unterschiedlichen Installationen über Docker-Container zu installieren. Allerdings habe ich das Thema noch nicht ganz verstanden.

Wenn ich z.B. Nextcloud über Docker installiere, wie komme ich an das Dateisystem heran? Wo liegen die dann genau?

In meinem Fall möchte ich per FTP auf die Ordner/Verzeichnisse zugreifen, um z.B. Themes schnell bearbeiten zu können. Über Google habe ich mich dumm und dusselig gesucht, aber keine verständliche Erklärung für Noobs gefunden. Danke, für jede Unterstützung.
 
Zur Frage mit den Daten: die liegen in einem eigenen Dateisystem ("volume"), das der nextcloud instanz zugewiesen wird. Wenn du per FTP (oder einem anderen Dienst) darauf arbeiten willst, musst du einen ftp- server (oder eben den anderen Dienst) in docker aufsetzen, dem du ebenfalls dieses volume zuweist... Nein, es ist nicht einfach. Ist ja auch für große/komplexe Strukturen gedacht. Eventuell wäre eine direkte Installation auf dem pi ohne docker für dich leichter zu administrieren.
 
Danke, das guck ich mir mal an. :thumbsup:

Zur Frage mit den Daten: die liegen in einem eigenen Dateisystem ("volume"), das der nextcloud instanz zugewiesen wird. Wenn du per FTP (oder einem anderen Dienst) darauf arbeiten willst, musst du einen ftp- server (oder eben den anderen Dienst) in docker aufsetzen, dem du ebenfalls dieses volume zuweist... Nein, es ist nicht einfach. Ist ja auch für große/komplexe Strukturen gedacht. Eventuell wäre eine direkte Installation auf dem pi ohne docker für dich leichter zu administrieren.
Ah, das leuchtet ein! Dann versteh ich die ganze Sache langsam mal. :thumbsup:
Und komm ich per SSH an die Verzeichnissstruktur ran?
Ich hab mal auf einem Testserver mit Docker etwas rumgespielt und die Sache hat mich fast wahnsinnig gemacht.
 
Für jeden Dienst: starte nen Container und verbinde ihn mit dem volume...
Also auch ssh.
Für den Privatgebrauch ist das zu viel overhead, für Entwicklung und Produktivbetrieb in komplexer Landschaft ist es toll. Nur meine Meinung...
 
  • Gefällt mir
Reaktionen: heldausberlin
Wenn ich z.B. Nextcloud über Docker installiere, wie komme ich an das Dateisystem heran? Wo liegen die dann genau?

...man sollte tunlichst vermeiden, innerhalb von Containern am Dateisystem rumzufummeln. Das ist auch gar nicht Sinn der Sache, denn die Container können jederzeit neu angelegt werden. Wenn man Daten oder Einstellungen persistieren will, werden diese per Bind-Mount an normale Verzeichnisse/Dateien des Hostsystems gebunden.

Neben der sehr guten Doku von Docker selbst kann ich wärmstens dieses Buch empfehlen - in Sachen Praxistauglichkeit , Verständlichkeit und Anwendungsbeispiele gibt es m.E. nichts besseres:

https://www.amazon.de/Docker-Praxisbuch-Entwickler-DevOps-Teams-Windows/dp/3836261766

Und nein - Docker ist weder komplex noch kompliziert, sobald man mal das Prinzip kapiert hat...
 
  • Gefällt mir
Reaktionen: heldausberlin
Meiner Meinung nach ist Docker für den privaten Gebrauch quatsch, insbesondere bei Diensten, die Storage in irgendeiner Form benötigen, denn für die hast Du nicht nur den gleichen Aufwand wie bei nativ laufender Software, du hast sogar mehr Aufwand.

Docker wurde entwickelt um effizienter horizontal skalieren zu können als mit VMs und um ein paar Fehlerquellen bei Deployments zu vermeiden, wenn man dafür verschiedene "stages" nutzt. Du willst aber gar nicht horizontal skalieren und Du hast auch keine "stages" (hat man privat normalerweise nicht). Du könntest einzig davon profitieren, dass die Container sicherheitstechnisch einer Abschottung der einzelnen Services entspricht, d.h. wenn ein Service kompromittiert ist, kann ein Angreifer nicht mehr kaputt machen als diesen einen Service. Aber dass dafür eingeführte Docker stellt einen neuen Angriffsvektor dar.
 
  • Gefällt mir
Reaktionen: heldausberlin
Du könntest einzig davon profitieren, dass die Container sicherheitstechnisch einer Abschottung der einzelnen Services entspricht, d.h. wenn ein Service kompromittiert ist, kann ein Angreifer nicht mehr kaputt machen als diesen einen Service.
Und das alleine wäre schon Argument genug um das Hostsystem zu schützen.

Aber dass dafür eingeführte Docker stellt einen neuen Angriffsvektor dar.
Ja, dessen Risiko verglichen mit dem Nutzen (s.o.) zu vernachlässigen ist.

Aber es gibt noch weitaus mehr Vorteile: Du erhältst eine bestens portierbare Installation. Gerade wenn wenn man Dienste auf angemieteten Root-Servern betreibt und an den Diensten viele Konfigurationsanpassungen vorgenommen hat, wird man die explizite und kompakte Deklaration solcher Anpassungen sehr schätzen, gerade wenn mehrere Dienste zusammenwirken wie z.B. mit Docker-Compose. Das Ganze lässt sich auch sehr viel einfacher und kompakter Backuppen. Wenn man mehrere Dienste auf einer Kiste betreibt mit unterschiedlichen Library-Anforderungen (ich sag nur libcurl3 oder -4) ist man froh wenn man die mit Docker gekapselt hat.

Und gerade aus Heimanwender-Perspektive sind die Images, die man mit Docker z.B. auf einem (besseren) NAS betreiben kann, meist deutlich aktueller und übersichtlicher konfigurierbar als die von den NAS-Systemen angebotenen Pakete (sofern dort überhaupt vorhanden). Bei mir laufen z.B. PiHole und Plex wunderbar als Docker-Container auf der Synology, das lässt sich sogar komplett in der GUI konfigurieren...
 
  • Gefällt mir
Reaktionen: heldausberlin
Zurück
Oben Unten