Basis van cloud en containers
Op een Linux-host wordt met Docker een container gestart uit een image dat op een andere distributie dan die van de host is gebaseerd, en daarin worden uname -r (een opdracht die de release van de kernel toont) en cat /etc/os-release (een opdracht die informatie over de distributie toont) uitgevoerd. Welke beschrijving van de resultaten is juist?
- AZowel uname -r als /etc/os-release toont informatie over de kernel en de distributie van de host
- BZowel uname -r als /etc/os-release toont informatie over de distributie waarop het image is gebaseerd en over de kernel daarvan
- Cuname -r toont de kernel van de host, en /etc/os-release toont de distributie van het image
Antwoord en toelichting tonen
Antwoord: C. uname -r toont de kernel van de host, en /etc/os-release toont de distributie van het image
Een container deelt de kernel van de host; uname -r, dat de kernel bevraagt, toont daarom ook in de container de release van de kernel van de host. /etc/os-release is daarentegen een bestand en wordt gelezen uit het bestandssysteem dat de container ziet, dus uit het image; het toont de naam van de distributie van het image. Een image bevat geen kernel, alleen bestanden van de gebruikersruimte (userspace) zoals opdrachten en bibliotheken. Een programma dat een functie nodig heeft die de kernel van de host niet heeft, werkt daarom ook in een container niet.