Что такое entrypoint \ cmd ?
Спросят с вероятностью 20%
ENTRYPOINT и CMD — это две инструкции, которые определяют команду и параметры, исполняемые при запуске контейнера. Они похожи, но служат немного разным целям и взаимодействуют между собой определенным образом.
ENTRYPOINT
Определяет исполняемый файл, который будет запущен при старте контейнера. Он фактически устанавливает постоянную базовую команду, к которой затем можно добавить дополнительные аргументы при запуске контейнера. Это можно использовать, например, чтобы сделать контейнер ведущим себя как исполняемый файл.
В этом примере, он устанавливает команду
CMD
Предоставляет аргументы по умолчанию для
В этом случае
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых
Спросят с вероятностью 20%
ENTRYPOINT и CMD — это две инструкции, которые определяют команду и параметры, исполняемые при запуске контейнера. Они похожи, но служат немного разным целям и взаимодействуют между собой определенным образом.
ENTRYPOINT
Определяет исполняемый файл, который будет запущен при старте контейнера. Он фактически устанавливает постоянную базовую команду, к которой затем можно добавить дополнительные аргументы при запуске контейнера. Это можно использовать, например, чтобы сделать контейнер ведущим себя как исполняемый файл.
# Используется официальный образ Python
FROM python:3.8
# Устанавливаем рабочий каталог
WORKDIR /app
# Копируем исходный код в контейнер
COPY . /app
# Устанавливаем зависимости
RUN pip install -r requirements.txt
# Устанавливаем entrypoint
ENTRYPOINT ["python", "app.py"]
В этом примере, он устанавливает команду
python app.py
как команду, которая будет выполнена при запуске контейнера.CMD
Предоставляет аргументы по умолчанию для
ENTRYPOINT
. Если ENTRYPOINT
не указан, то он также может быть использован для указания исполняемой команды. Однако, если ENTRYPOINT
указан, CMD
предоставляет дополнительные аргументы к этой команде.# Используется официальный образ Python
FROM python:3.8
# Устанавливаем рабочий каталог
WORKDIR /app
# Копируем исходный код в контейнер
COPY . /app
# Устанавливаем зависимости
RUN pip install -r requirements.txt
# Устанавливаем entrypoint и cmd
ENTRYPOINT ["python"]
CMD ["app.py"]
В этом случае
ENTRYPOINT
устанавливает команду python
, а CMD
предоставляет файл app.py
как аргумент по умолчанию. Если при запуске контейнера указать другие аргументы, например docker run myimage hello.py
, то CMD
будет перезаписан, и вместо app.py
будет выполнен hello.py
.ENTRYPOINT
задает основную команду контейнера, а CMD
предоставляет аргументы по умолчанию для этой команды. ENTRYPOINT
как бы говорит "всегда выполняй это", а CMD
добавляет "если не сказано иначе, используй эти параметры".👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1119 вопросов на DevOps. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых