Sobes.tech
Junior — Middle

Jaké výsledky lze očekávat při současném použití instrukcí ENTRYPOINT a CMD v Dockerfile?

sobes.tech AI

Odpověď od AI

V Dockerfile určuje instrukce ENTRYPOINT a CMD společně, jaký příkaz a s jakými argumenty bude kontejner spouštět při startu.

  • ENTRYPOINT stanoví hlavní příkaz, který bude vždy vykonán.
  • CMD stanoví výchozí argumenty pro ENTRYPOINT nebo, pokud ENTRYPOINT není nastaven, výchozí příkaz.

Pokud jsou obě instrukce použity současně, při spuštění kontejneru bude příkaz sestaven takto:

ENTRYPOINT + CMD

Například:

ENTRYPOINT ["python"]
CMD ["app.py"]

Při spuštění kontejneru bude vykonán příkaz python app.py.

Pokud při spuštění kontejneru předáte vlastní argumenty, ty nahradí CMD, nikoliv ENTRYPOINT.

Tímto způsobem ENTRYPOINT fixuje spustitelný soubor a CMD nastavuje výchozí parametry, které lze přepsat.