Если в Dockerfile указаны командные инструкции CMD или ENTRYPOINT, каким пользователем эта команда будет выполнена внутри контейнера?

Команды, указанные в инструкциях CMD или ENTRYPOINT в Dockerfile, по умолчанию выполняются от имени пользователя, который задан внутри контейнера.

Короткий ответ

Что ответить на собеседовании

Команды, указанные в инструкциях CMD или ENTRYPOINT в Dockerfile, по умолчанию выполняются от имени пользователя, который задан внутри контейнера. Если в Dockerfile не указана инструкция USER, то команда будет выполнена от имени пользователя root.

Подробный разбор

Ответ с пояснениями

Команды, указанные в инструкциях CMD или ENTRYPOINT в Dockerfile, по умолчанию выполняются от имени пользователя, который задан внутри контейнера. Если в Dockerfile не указана инструкция USER, то команда будет выполнена от имени пользователя root.

Чтобы изменить пользователя, от имени которого запускается команда, в Dockerfile используется инструкция USER, например:

USER appuser

После этого все команды, включая CMD и ENTRYPOINT, будут выполняться от имени appuser. Если USER не задан, то по умолчанию это root.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее