Sobes.tech
Middle

Qual è la differenza tra CMD e ENTRYPOINT?

sobes.tech AI

Risposta dell'AI

В Dockerfile CMD и ENTRYPOINT задают команды для запуска контейнера, но имеют разные цели и поведение.

  • CMD — задаёт команду по умолчанию, которую можно переопределить при запуске контейнера. Обычно используется для указания аргументов или команды, если не переданы другие.

  • ENTRYPOINT — задаёт основную команду, которая всегда выполняется при запуске контейнера. Аргументы, переданные при запуске, добавляются к ENTRYPOINT.

Пример:

ENTRYPOINT ["/bin/echo"]
CMD ["Hello, World!"]

При запуске docker run image выполнится /bin/echo Hello, World!. Если запустить docker run image Goodbye, выполнится /bin/echo Goodbye.

Если использовать только CMD, то при запуске с аргументами команда CMD полностью заменяется.

Таким образом, ENTRYPOINT фиксирует команду, а CMD задаёт аргументы по умолчанию.