GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak přepsat vstupní bod pomocí Docker Run

Úvod

Vstupní bod a CMD jsou instrukce v Dockerfile, které definují proces v obrazu Dockeru. Můžete použít jeden nebo kombinovat oba v závislosti na tom, jak chcete kontejner provozovat.

Jeden rozdíl je v tom, že na rozdíl od CMD , nemůžete přepsat ENTRYPOINT příkaz pouze přidáním nových parametrů příkazového řádku. Chcete-li přepsat ENTRYPOINT, musíte upravit docker run příkaz podle konkrétní syntaxe.

V tomto tutoriálu se naučíte, jak přepsat ENTRYPOINT pomocí příkazu docker run.

Předpoklady

  • Přístup k příkazovému řádku
  • Uživatel s funkcí sudo privilegia
  • Spuštěná instance Docker
  • Stávající obrázek Docker

Přepsat ENTRYPOINT spuštěním dockeru

Abychom ilustrovali, jak přepsat tento příkaz, spustíme kontejner, který odráží zprávu Hello World kombinací ENTRYPOINT a CMD v Dockerfile.

V Dockerfile, ENTRYPOINT příkaz definuje spustitelný soubor, zatímco CMD nastaví výchozí parametr.

FROM ubuntu
MAINTAINER sofija
RUN apt-get update
ENTRYPOINT [“echo”, “Hello”]
CMD [“World”]

Pokud z tohoto souboru vytvoříte obrázek a použijete jej ke spuštění kontejneru Docker, výstup zobrazí:

Výchozí CMD můžete snadno přepsat přidáním požadovaného parametru do docker run příkaz:

sudo docker run [container_name] [new_parameter]

V níže uvedeném příkladu jsme změnili parametr CMD World přidáním Sofija na příkaz. Výsledkem je, že výstup zobrazí Hello Sofija .

Můžete však chtít přepsat výchozí spustitelný soubor a například spustit shell uvnitř kontejneru. V takovém případě musíte použít --entrypoint příznak a spusťte kontejner pomocí následující syntaxe:

sudo docker run --entrypoint [new_command] [docker_image] [optional:value]

Chcete-li přepsat výchozí echo zprávu v našem příkladu a spustit kontejner interaktivně, použijeme příkaz:

sudo docker run -it --entrypoint /bin/bash [docker_image]

Výstup nám ukazuje, že jsme nyní uvnitř kontejneru.


Ubuntu
  1. Jak nainstalovat WordPress pomocí Docker

  2. Jak spustit program uvnitř kontejneru Docker?

  3. Jak spustit Glmark2 na vyhrazeném Gpu?

  1. Jak spustit skript??

  2. Jak spustit MySQL v kontejneru Docker

  3. Jak nainstalovat Docker na CentOS

  1. Jak nasadit a spustit Redis v Dockeru

  2. Jak nainstalovat Docker na Ubuntu 20.04 (jednoduchý průvodce)

  3. Jak spustit příkaz na spuštěném kontejneru Docker