Команда dockerfile CMD — это инструкция, используемая в Dockerfile для указания команды, которая должна выполняться при запуске контейнера Docker. Он определяет основной процесс, который будет выполняться внутри контейнера.
Вот несколько способов использования команды CMD в Dockerfile, а также примеры кода:
-
Форма руководителя:
CMD ["executable", "param1", "param2"]Эта форма предпочтительнее, поскольку она не вызывает оболочку. Он напрямую определяет исполняемый файл и его параметры.
-
Форма оболочки:
CMD executable param1 param2Эта форма использует оболочку для выполнения команды. Он вызывается с помощью
/bin/sh -c, что позволяет использовать такие функции оболочки, как подстановка переменных. -
Форма массива JSON:
CMD ["/bin/sh", "-c", "echo $HOME"]Эта форма позволяет указать несколько аргументов в виде массива.
-
Команду и параметры по умолчанию можно переопределить при запуске контейнера, предоставив их в качестве аргументов команде
docker run.Пример:
docker run myimage echo "Hello, World!" -
Если инструкция CMD объединена с инструкцией ENTRYPOINT, команда CMD будет использоваться в качестве параметров по умолчанию для точки входа.
Пример:
ENTRYPOINT ["executable"] CMD ["param1", "param2"]