Raspberry Pi | Container-Docker

francy_space

Ensign
Registriert
Juni 2020
Beiträge
169
Hallo :)

Rein technisch habe ich die Logik dargelegt, wie ich die Beziehung zwischen Container und Docker zu betrachten habe. Stimmt die folgende Logik? Habe ich Dinge übersehen?

Ich habe einen Raspberry Pi, der auf einem Linux-Betriebssystem (Debian) basiert. Auf diesem Linux muss eine Container-Plattform installiert werden, die sich von Betriebssystem zu Betriebssystem unterscheidet. Diese Container-Plattform bezeichnet man als Docker. Auf diesem Docker kommen nun die Container drauf, mit dem ich Prozesse im Raspberry Pi besser gegeneinander isolieren kann. Stecke ich eine Anwendung in einen Container, so sieht diese Anwendung nur die Prozesse, die in genau dem COntainer laufen.

Linux Betriebssystem --> Container-Plattform (Docker) --> Image --> Container
 
Zuletzt bearbeitet:
Fast.

Docker ist einfach eine Variante der Containerumgebungen. Es gibt aber auch noch andere, wie z.B. Podman.
 
  • Gefällt mir
Reaktionen: madmax2010 und francy_space
Man bezeichnet nicht jede Container-Plattform als Docker. Docker ist eine Container-Plattform, aber es gibt eben auch andere.
 
  • Gefällt mir
Reaktionen: francy_space
  • Gefällt mir
Reaktionen: francy_space
Ich verstehe. Docker sind nur eine Variante von Container-Plattformen. Ein Docker ist eine Container-Plattform. Eine Container-Plattform ist aber nicht zwanghaft ein Docker.
 
francy_space schrieb:
Ich verstehe. Docker sind nur eine Variante von Container-Plattformen. Ein Docker ist eine Container-Plattform. Eine Container-Plattform ist aber nicht zwanghaft ein Docker.

Richtig. Docker verhaelt sich zu Containertechnologie wie Debian zu Betriebssystem.
 
  • Gefällt mir
Reaktionen: Raijin, snaxilian und francy_space

Genauso wie ein PC Windows laufen lässt, ein Windows aber nicht einen PC beschreibt (Linux, BSD, ...).

https://de.wikipedia.org/wiki/Containervirtualisierung#Realisierungen

Und vorab: Es gibt keine Docker Container. Das sind Container, die nur von Docker genutzt werden. Genau genommen wird im Linux Kernel LXC verwendet.
francy_space schrieb:
Stecke ich eine Anwendung in einen Container, so sieht diese Anwendung nur die Prozesse, die in genau dem COntainer laufen.
Nicht nur Prozesse und auch nicht in diesem Container, sondern in dessen zugewiesenem Namespace. Aber da kannst du dich weiterführend belesen.
 
  • Gefällt mir
Reaktionen: snaxilian, madmax2010 und francy_space
  • Gefällt mir
Reaktionen: NJay und francy_space
Hallo

Angenommen ich habe einen Docker-Server. Auf ihm habe ich einen Container mit einer Linux-Umgebung erstellt. Installiere ich nun einen VPN-Dienst auf dem Docker-Server, so weißt die Linux-Umgebung vom Container nichts von dem VPN-Server. Nur der Docker weiß davon. Würde ich hingegen den VPN-Server auf meinem Container installieren, so hätte der Container Kenntniss von dem VPN-Server, der auf ihm aufgesetzt worden ist. Nicht nur der Container weiß davon, sondern auch der Docker, der die ganze Plattform bereitstellt.

Bin ich mit den Gedanken richtig unterwegs?
 
Zuletzt bearbeitet:
Ich verstehe die frage nicht so ganz.
Was bedeutet 'weiß davon' für dich?
Worauf willst du hinaus?
 
Ich möchte auf dem Raspberry Pi Bitwarden laufen lassen. Dazu habe ich mir folgenden Youtube-Video zu Herzen genommen:


Bevor ich allerdings in die ganze Docker-Container Thematik einsteige, habe ich gedacht, ich nehme mir mal Zeit, um zu schauen, was es allgemein damit auf sich hat. Sprich, ich kann nur oberflächlich über Docker oder Container sprechen, weil ich sie noch nie angewendet habe. Ich denke, es wäre besser nach dem allgemeinen "Input" einfach mal das Tutorial abzuarbeiten. Vielleicht klären sich damit Fragen.

Mit "weiß davon" meinte ich, dass ich mithilfe von Containern Prozesse gegeneinander isolieren kann. Dadurch dass der Container von dem VPN-Server nichts weiß, ist er gegenüber ihm isoliert und kann über VPN nicht angesprochen werden.
 
francy_space schrieb:
Nur der Docker weiß davon.

Was soll "der Docker" sein? Deine Erklaerung/Frage macht nicht viel Sinn.

Stell dir nen Container in deiner Denkweise vor wie eine VM. Vielleicht hilft das.

Wenn du ne VM auf deinem PC laufen laesst, weiss die nichts von irgendwelchen VPN Verbindungen, die der Host erstellt. geht die VM aber ins Internet, kann es je nach Netzwerk-Config sein, dass die VM auch den VPN nutzt, ohne es zu wissen.
 
  • Gefällt mir
Reaktionen: madmax2010 und francy_space
In der Tat. Der Vergleich hilft mir, einen Container besser vorzustellen. Ich danke dir.
 
Das Docker getting started dürfte auch sinnvoll sein.
https://www.docker.com/101-tutorial
Spiel das einmal durch, wenn du danach Docker immer noch als sinnvoll erachtest ist Portainer eine gute Wahl um deine Container einfach zu verwalten.

Um NJay zu ergänzen:
Images lädst du aus dem Internet herunter. Sobald du ein Image startest ist es ein Container, diese Container führen in der Regel genau eine Aufgabe/Programm aus. Container speichern keine Daten. Wenn du die Daten aus einem Container speichern möchtest gibst du dem Container einen Speicher-Container (Volume) oder einen Ort auf deinem PC/Server/etc. wo der Container drauf zugreifen kann (mounten).
Wenn du dein Programm also updatest lädst du dir einen neueres Image mit dem Programm runter und ersetzt den alten Container mit dem neuen Image - die Daten sind ja auf deinem PC separat gesichert, auf diese greift der neue Container wieder zu.

Grundsätzlich solltest du am Anfang keine eigenen Images erstellen sondern nur vorgefertigte z.B. von hub.docker.com herunterladen (angesprochen wird es dennoch im Tutorial).
Die Container kannst du dann über eine Netzwerkverbindung miteinander kommunizieren lassen wenn sie es müssen, ansonsten sind die komplett voneinander abgeschottet.

Wenn du mehrere Container zu einem Zweck erstellst und zusammen arbeiten lässt nennt man das einen Stack (z.B. einen Webserver mit Datenbank - 2 Container). Die Einstellungen des Stacks speicherst du dir, sodass du die einzelnen Container ohne Arbeit einfach bei einem Update durch neue austauschen kannst.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: francy_space und snaxilian
Zurück
Oben