Sobes.tech
Junior — Middle

Milyen eredmények várhatók az ENTRYPOINT és CMD utasítások egyidejű használatakor egy Dockerfile-ban?

sobes.tech MI

Válasz az MI-től

Egy Dockerfile-ban az ENTRYPOINT és a CMD utasítások együtt határozzák meg, hogy a konténer indításakor milyen parancsot és milyen argumentumokat fog végrehajtani.

  • Az ENTRYPOINT meghatározza a fő parancsot, amelyet mindig végre kell hajtani.
  • A CMD alapértelmezett argumentumokat ad meg az ENTRYPOINT-hez, vagy ha az ENTRYPOINT nincs beállítva, akkor az alapértelmezett parancsot.

Ha mindkét utasítást egyidejűleg használják, akkor a konténer indításakor a parancs így alakul:

ENTRYPOINT + CMD

Például:

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

A konténer indításakor a python app.py parancs fog végrehajtódni.

Ha az indításkor saját argumentumokat ad meg, azok felülírják a CMD-t, de nem az ENTRYPOINT-t.

Így az ENTRYPOINT rögzíti a futtatható fájlt, míg a CMD alapértelmezett paramétereket határoz meg, amelyeket felül lehet írni.