Всем привет!
При работе с образами контейнеров (сборка, запуск) вы с очень большой вероятностью встретите 3 инструкции –
RUN, CMD и ENTRYPOINT. На первый взгляд, они достаточно похожи, но разница есть.В статье Автор лаконично объясняет в чем эта разница состоит:
🍭
RUN. Выполняется во время сборки, создает новый слой контейнера🍭
CMD. «Команда по умолчанию» при запуске контейнера. Может быть переопределена docker run -it smth🍭
ENTRYPOINT. «Запускаемый по умолчанию исполняемый файл». Да, тоже может быть переопределен, но чуть иначеБолее полное описание можно найти в статье. Помимо этого, в ней есть интересные особенности работы с исполняемыми файлами и их аргументами – Shell и Exec формы.
И да! Разница между
echo TEST (Shell-форма) и [“echo”, “TEST”] (Exec-форма) есть 😊 И связана она с PID №1. А как именно – рекомендуем прочесть в статье, весьма интересно!А еще в статье есть схемы, примеры и «тестирование», которое подсвечивает возможные нюансы и особенности работы
RUN, CMD и ENTRYPOINT.