ENTRYPOINT предназначен для предоставления исполняемого файла, а CMD — для передачи исполняемому файлу аргументов по умолчанию.
Чтобы это понять, давайте рассмотрим приведенный ниже файл Dockerfile:
Если вы попытаетесь создать этот образ Docker, используя
docker build command
Давайте запустим это изображение без каких-либо аргументов.
Давайте запустим его, передав аргумент командной строки
Здесь четко указано, что ENTRYPOINT предназначен для предоставления исполняемого файла, а CMD — для передачи исполняемому файлу аргументов по умолчанию.
Итог
Ключевой вывод для интервью: Чем инструкция ENTRYPOINT в Dockerfile отличается от инструкции RUN?