Anfängerfrage: werden Docker Container rückstandslos gelöscht?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

wired2051

Benutzer
Registriert
17. März 2010
Beiträge
929
Reaktionspunkte
12
Punkte
44
Ich habe Docker installiert, erst einmal um rsnapshot auf der DS zu nutzen. Auf meiner DS und unter hub.docker.com werden verschiedene Container angeboten - allerdings kein offizieller. Der mit den meisten Downloads/Sternen (50k+) wurde vor 13 Tagen aktualisiert, der aktuellste (2 Tage) hat nur 10k+ Downloads. Und in der DS steht an Position 1 elkarbackup/elkarbackup, eine backup solution based on RSync/RSnapshot, also gar nicht was ich suche.

Kann ich die Container unbeschwert durchprobieren, werden sie im Zweifel rückstandslos gelöscht oder bleiben Konfigurationsdateien o.ä. übrig?
 
Wenn du keine persistenten Speicher verwendest, sollte, mit Ausnahme des Images, alles restlos entfernt werden.
Das Image musst du dann manuell löschen.
o314Af9.png


Wenn du deinen Container produktiv verwenden möchtest, sollten deine Einstellungen (Configs) natürlich in einem persistenten Storage abgelegt sein, damit sie auch ein Container-Update überleben und du nicht permanent die Einstellungen neu vornehmen musst.
 
Ich glaube, ich beginne zu begreifen. Ich kann ein Image mehrmals starten und auf seiner Basis mehrere Container erstellen. Also könnte man sagen, der Container ist die (laufende) Anwendung und das Image enthält den Code? Wird das Image dabei verändert oder ist das immer read only?

Wie erkenne ich, ob die Einstellungen (Configs) in einem permanenten Speicher liegen, bzw. sie dort ablegen? Container > Bearbeiten > Volume?
 
Ein Image ist ein Abbild, dass die Anwendung, all ihre Abhängigkeiten, Konfigurationen und in den meisten Fällen ein mehr oder weniger cleveres Entrypoint-Skript enthält (welches beschreibt was beim Start eines Containers auf Basis dieses Images passieren soll) kapselt.

Ein Container basiert auf einem Image und ist dessen Laufzeitausprägung. Ein Container bindet die read-only Layer eines Images + eine Copy-on-Write Layer ein. Nur in letzteres kann geschrieben werden. Dieser Layer wird mit einem Contaienr zusammen gelöscht. DIe Image Layer bleiben bestehen, da sie ja anderweitig wiederverwendet werden könnten... Die muss man explizit selbst löschen, wenn man sie nicht mehr haben will.

Ansonsten gibt es noch Volumes, die erlauben ein Host-Verzeichnis in ein Container-Verzeichnis zu mappen (in Wahrheit mounten) um darüber Daten außerhalb des Containers permanent zu speichern. Die Container-Verzeichnisse die man sinnvoll mappen kann, sollten in der jeweiligen Dockerhub-Beschreibung des Images stehen.
 
  • Like
Reaktionen: geimist
Das Image ist als Bauplan zu verstehen auf dessen Grundlage der Container erstellt wird. Eine Änderung innerhalb des Containers führt nicht zu einer Änderung am Image.
Wie erkenne ich, ob die Einstellungen (Configs) in einem permanenten Speicher liegen, bzw. sie dort ablegen? Container > Bearbeiten > Volume?

Das setzt voraus, dass du vorab ein lokales Laufwerk als Volume eingebunden hast. Hier einmal ein Beispiel eines leeren Volumes.
VLNU0aF.png
 
Danke für die Erklärungen! Bisher habe ich nur mit hello-world rumgespielt...

Wo werden Image Layer gespeichert und wie löscht man sie (ich halte gerne Ordnung)?

Wenn ich also in der Dockerhub-Beschreibung Container-Verzeichnisse finde, muss ich sie beim Erstellen des Containera unter Image > Starte > erweiterte Einstellungen > Volume > Ordner hinzufügen angeben?
 
..das ist das Löschen von Images. @haydibe schrieb von Image Layern, die man explizit selbst löschen müsse.
 
Ignorier meinen "unter der Haube" Hinweis mit den Image-Layern. Wenn man ein Image so löscht wie Ulfhednir beschrieben hat, dann werden auch die Layer mitgelöscht. Natürlich klappt das löschen nur, sofern kein Container existiert (egal ob gestopped oder laufend), der das Image nutzt.
 
Na, dann kann ich morgen ja sorglos experimentieren.

Danke, Ihr habt mir sehr geholfen! (y)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat