Basis van cloud en containers
FROM alpine
ENTRYPOINT ["ping", "-c", "3"]
CMD ["localhost"]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?
- Aping -c 3 localhost
- Bping -c 3 example.com
- Cexample.com (de poging om het als opdracht uit te voeren, mislukt met een fout)
Antwoord en toelichting tonen
Antwoord: B. ping -c 3 example.com
Een ENTRYPOINT in exec-vorm (een JSON-array) is de opdracht die de container altijd uitvoert, en CMD levert de standaardargumenten daarvoor. Argumenten die in docker run na de naam van het image staan, vervangen CMD en worden achter het ENTRYPOINT geplaatst; er wordt dus ping -c 3 example.com uitgevoerd. Bij een start zonder argumenten, als docker run pinger, zou de localhost uit CMD worden gebruikt, wat ping -c 3 localhost geeft. Om het ENTRYPOINT zelf te veranderen, gebruikt men de optie --entrypoint van docker run.