Grundlagen von Cloud und Containern
In einem Container, der aus einem Image gestartet wurde, wird die im Image enthaltene Konfigurationsdatei /etc/app.conf geändert. Was geschieht beim üblichen Speichermechanismus von Docker (etwa overlay2)?
- ADie Datei wird in die beschreibbare Schicht des Containers kopiert und dann geändert; das Image und andere Container sind nicht betroffen
- BDie Datei in der Image-Schicht wird direkt geändert, sodass auch andere Container aus demselben Image den neuen Inhalt sehen
- CImage-Schichten sind schreibgeschützt; im Image enthaltene Dateien lassen sich daher nicht ändern, und der Schreibvorgang schlägt mit einem Fehler fehl
Antwort und Erläuterung anzeigen
Antwort: A. Die Datei wird in die beschreibbare Schicht des Containers kopiert und dann geändert; das Image und andere Container sind nicht betroffen
Das Dateisystem eines Containers zeigt die schreibgeschützten Image-Schichten mit einer darübergelegten beschreibbaren Schicht pro Container als einen einzigen Baum. Wird eine Datei aus einer unteren Schicht zum ersten Mal geändert, wird sie in die beschreibbare Schicht kopiert, und danach wird die Kopie verwendet (Copy-on-Write). Die Image-Schichten bleiben daher unverändert, und andere Container, die dasselbe Image nutzen, sind nicht betroffen. Weil die erste Kopie einer großen Datei Zeit kostet, legt man häufig geschriebene Daten wie Datenbankdaten in ein Volume.
Weiter: 9 weitere Fragen zu Grundlagen von Cloud und Containern