Grundlagen von Cloud und Containern
FROM alpine
ENTRYPOINT ["ping", "-c", "3"]
CMD ["localhost"]Das aus dem obigen Dockerfile gebaute Image pinger wird mit docker run pinger example.com gestartet. Welcher Befehl wird im Container ausgeführt?
- Aping -c 3 localhost
- Bping -c 3 example.com
- Cexample.com (der Versuch, es als Befehl auszuführen, schlägt mit einem Fehler fehl)
Antwort und Erläuterung anzeigen
Antwort: B. ping -c 3 example.com
Ein in der exec-Form (als JSON-Array) geschriebenes ENTRYPOINT ist der Befehl, den der Container immer ausführt, und CMD liefert dessen Standardargumente. Argumente hinter dem Imagenamen in docker run ersetzen CMD und werden hinter das ENTRYPOINT angehängt, daher wird ping -c 3 example.com ausgeführt. Ohne Argumente, also mit docker run pinger, würde das localhost aus CMD verwendet, was ping -c 3 localhost ergibt. Um das ENTRYPOINT selbst zu ändern, verwendet man die Option --entrypoint von docker run.
Weiter: 9 weitere Fragen zu Grundlagen von Cloud und Containern