Sobes.tech
Junior — Middle

Jakie wyniki można oczekiwać, używając jednocześnie instrukcji ENTRYPOINT i CMD w Dockerfile?

sobes.tech AI

Odpowiedź od AI

W pliku Dockerfile instrukcje ENTRYPOINT i CMD razem określają, jaki polecenie i z jakimi argumentami będzie wykonywał kontener podczas uruchomienia.

  • ENTRYPOINT ustawia główne polecenie, które zawsze będzie wykonywane.
  • CMD ustawia domyślne argumenty dla ENTRYPOINT lub, jeśli ENTRYPOINT nie jest ustawione, domyślne polecenie.

Jeśli obie instrukcje są używane jednocześnie, podczas uruchamiania kontenera polecenie zostanie utworzone jako:

ENTRYPOINT + CMD

Na przykład:

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

Podczas uruchamiania kontenera zostanie wykonane polecenie python app.py.

Jeśli podczas uruchamiania kontenera podasz własne argumenty, zastąpią one CMD, ale nie ENTRYPOINT.

W ten sposób ENTRYPOINT ustala plik wykonywalny, a CMD ustala domyślne parametry, które można nadpisać.