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
ENTRYPOINTmeghatározza a fő parancsot, amelyet mindig végre kell hajtani. - A
CMDalapértelmezett argumentumokat ad meg azENTRYPOINT-hez, vagy ha azENTRYPOINTnincs 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.