Basis van cloud en containers
In een container die uit een image is gestart, wordt het configuratiebestand /etc/app.conf gewijzigd, dat deel uitmaakt van het image. Welke beschrijving van wat er gebeurt met het gangbare opslagmechanisme van Docker (zoals overlay2) is juist?
- AHet bestand wordt naar de beschrijfbare laag van de container gekopieerd en daar gewijzigd; het image en andere containers worden dus niet beïnvloed
- BHet bestand in de laag van het image wordt rechtstreeks gewijzigd; andere containers die uit hetzelfde image zijn gestart, zien dus ook de nieuwe inhoud
- CDe lagen van een image zijn alleen-lezen; bestanden uit het image kunnen dus niet worden gewijzigd en het schrijven mislukt met een fout
Antwoord en toelichting tonen
Antwoord: A. Het bestand wordt naar de beschrijfbare laag van de container gekopieerd en daar gewijzigd; het image en andere containers worden dus niet beïnvloed
Het bestandssysteem van een container toont de alleen-lezen lagen van het image met daarboven een beschrijfbare laag voor die container als één enkele boom. De eerste keer dat een bestand uit een lagere laag wordt gewijzigd, wordt het naar de beschrijfbare laag gekopieerd, en daarna wordt die kopie gebruikt (copy-on-write). De lagen van het image blijven dus ongewijzigd, en andere containers die hetzelfde image delen, worden niet beïnvloed. Omdat de eerste kopie van een groot bestand tijd kost, worden gegevens waarnaar vaak wordt geschreven, zoals de gegevens van een database, in een volume geplaatst.