Назад к вопросам
СБЕР
Junior — Middle
71
Как различаются инструкции RUN, CMD и ENTRYPOINT в Dockerfile?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
-
RUN выполняет команду во время сборки образа Docker. Результат команды сохраняется в слое образа. Используется для установки пакетов, настройки окружения и т.п.
-
CMD задаёт команду по умолчанию, которая будет выполнена при запуске контейнера. Если при запуске контейнера указана своя команда, CMD игнорируется.
-
ENTRYPOINT задаёт основную команду, которая всегда будет выполнена при запуске контейнера. Аргументы, переданные при запуске, добавляются к ENTRYPOINT.
Пример:
FROM ubuntu
RUN apt-get update && apt-get install -y curl
ENTRYPOINT ["curl"]
CMD ["--help"]
При запуске контейнера без аргументов выполнится curl --help. Если запустить с аргументами, например docker run <image> http://example.com, выполнится curl http://example.com.