Basis van cloud en containers

Er zijn vijf images die elk een eigen laag van 30 MB stapelen op hetzelfde basisimage (120 MB). Compressie van de lagen en de grootte van metadata worden verwaarloosd. Hoeveel schijfruimte gebruiken de images als alle vijf naar één server worden gehaald (pull)?

  1. A150 MB
  2. B270 MB
  3. C750 MB
Antwoord en toelichting tonen

Antwoord: B. 270 MB

De lagen van een image worden geïdentificeerd door een digest die uit hun inhoud wordt berekend, en een identieke laag wordt op een server maar één keer opgeslagen en door meerdere images gedeeld. De basislaag van 120 MB wordt één keer opgeslagen en de vijf eigen lagen nemen 30 MB × 5 = 150 MB in beslag; het totaal is dus 120 + 150 = 270 MB. Dat is 480 MB minder dan de 750 MB, (120 + 30) × 5, die zonder delen nodig zou zijn. Een gemeenschappelijk basisimage verkort de tijd voor een pull en vermindert het schijfgebruik.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van cloud en containers

  1. Welke combinatie van de opdracht die bij het bouwen van het image met docker build wordt uitgevoerd en de opdracht die bij het starten van een container met docker run wordt uitgevoerd, is voor het bovenstaande Dockerfile juist?
  2. Een image met de naam pinger, gebouwd uit het bovenstaande Dockerfile, wordt gestart met docker run pinger example.com. Welke opdracht wordt in de container uitgevoerd?
  3. Met de bovenstaande opdracht wordt een container gestart uit het image nginx, een webserver die op poort 80 luistert. Het IP-adres van de host is 192.0.2.10, en er zijn geen beperkingen zoals een firewall. Welke URL is juist om deze webserver te bereiken vanuit een browser op een andere pc in hetzelfde netwerk?
  4. Het bovenstaande Dockerfile (B) is gemaakt uit Dockerfile (A), waarin RUN npm ci na COPY . . stond, door de volgorde zo te veranderen dat eerst alleen de bestanden met de afhankelijkheden worden gekopieerd. npm ci duurt 120 seconden, npm run build 30 seconden en COPY . . 2 seconden; de tijd van de andere instructies is verwaarloosbaar. Het image wordt 20 keer per dag opnieuw gebouwd nadat alleen de broncode onder src is gewijzigd (package.json en package-lock.json blijven ongewijzigd). Hoeveel korter is de totale buildtijd per dag met B dan met A, als de cache van de vorige build kan worden gebruikt?
  5. Welke beschrijving van benoemde volumes en bind mounts in Docker, die worden gebruikt om gegevens te bewaren die een container schrijft, is juist?