Sobes.tech
Junior — Middle

Ce rezultate se pot aștepta atunci când se utilizează simultan instrucțiunile ENTRYPOINT și CMD într-un Dockerfile?

sobes.tech AI

Răspuns de la AI

Într-un Dockerfile, instrucțiunile ENTRYPOINT și CMD determină împreună ce comandă și cu ce argumente va executa containerul la pornire.

  • ENTRYPOINT stabilește comanda principală care va fi întotdeauna executată.
  • CMD stabilește argumentele implicite pentru ENTRYPOINT sau, dacă ENTRYPOINT nu este setat, comanda implicită.

Dacă ambele instrucțiuni sunt utilizate simultan, comanda va fi formată astfel:

ENTRYPOINT + CMD

De exemplu:

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

La pornirea containerului, se va executa comanda python app.py.

Dacă la pornirea containerului se transmit argumente proprii, acestea vor înlocui CMD, dar nu și ENTRYPOINT.

Astfel, ENTRYPOINT fixează fișierul executabil, iar CMD stabilește parametrii implicit, care pot fi suprascrisi.