Grundlegendes zum Einstiegspunkt-Flag in Docker

  1. Die Entrypoint-Anweisung verstehen
  2. Verwenden Sie das Entrypoint-Flag, um Argumente zu übergeben
  3. Abschluss
Grundlegendes zum Einstiegspunkt-Flag in Docker

Wir verwenden das Einstiegspunkt-Flag (--entrypoint) im Befehl docker run, um den auszuführenden Befehl anzugeben, wenn wir einen Docker-Container starten. Mit diesem Flag können wir das Verhalten des Containers anpassen und den Befehl bestimmen, den Docker im Voraus ausführen wird.

In diesem Artikel wird ein Überblick über die Einstiegspunktanweisung gegeben, und Docker verwendet sie beim Ausführen des Befehls docker run.

Die Entrypoint-Anweisung verstehen

Standardmäßig ist der Einstiegspunkt für einen Docker-Container die Anweisung CMD in der Docker-Datei, die zum Erstellen des Images verwendet wird. Die Anweisung CMD gibt den Standardbefehl an, den Docker beim Starten des Containers ausführt.

Das folgende Dockerfile definiert beispielsweise den Standard-Einstiegspunkt für das Bild als den Befehl echo.

FROM ubuntu:18.04
CMD ["echo", "Hello, World!"]

Wir können die Befehle docker build und docker run verwenden, um das Image zu erstellen und einen Container basierend auf dem Image auszuführen.

Beispielcode:

docker build -t my-image .
docker run my-image

In diesem Beispiel startet der Befehl docker run einen Container basierend auf dem Image my-image und führt den Befehl echo als Einstiegspunkt des Containers aus. Der obige Befehl gibt die Nachricht "Hello, World!" an die Konsole aus.

Wenn wir jedoch einen anderen Einstiegspunkt für den Container angeben möchten, können wir die Option --entrypoint verwenden, wenn wir den Befehl docker run ausführen.

Beispielcode:

docker run --entrypoint /bin/sh my-image:latest

Verwenden Sie das Entrypoint-Flag, um Argumente zu übergeben

In diesem Befehl gibt die Option --entrypoint den Einstiegspunkt des Containers als Befehl /bin/sh an. Dieser Befehl überschreibt den in der Dockerfile angegebenen Standardeinstiegspunkt.

Es bewirkt, dass /bin/sh den Befehl ausführt, wenn Docker den Container startet, anstelle der definierten CMD in der Dockerfile.

Zusätzlich zur Angabe des Einstiegspunkts eines Containers können wir auch das Einstiegspunkt-Flag verwenden, um Argumente an den Einstiegspunktbefehl zu übergeben.

Beispielcode:

docker run --entrypoint /bin/sh my-image:latest -c

Der Befehl docker run --entrypoint verwendet die folgende Syntax.

docker run --entrypoint <entrypoint.sh> <image:tag> <arg1> <arg2> <arg3>

Abschluss

Wir führen den Befehl mit einem --entrypoint-Flag aus, um dabei zu helfen, die Standard-Befehlsshell auf einem gestarteten Container anzugeben. Docker verwendet es, um das Verhalten des Containers anzupassen und bestimmte Befehle oder Skripte bei seiner ersten Verwendung auszuführen.

Dieses Flag kann beim Ausführen von Containern in einer Produktionsumgebung nützlich sein, in der Sie möglicherweise sicherstellen möchten, dass der Container immer einen bestimmten Befehl startet und ausführt.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn