Sobes.tech
Junior — Middle

Πώς μπορεί να αλλάξει ο χρήστης μέσα στο Dockerfile κατά την κατασκευή του κοντέινερ;

sobes.tech AI

Απάντηση από AI

В Dockerfile для смены пользователя, под которым будут выполняться последующие команды или запущен контейнер, используется инструкция USER.

Пример:

FROM ubuntu:20.04

# Создаем пользователя и группу
RUN groupadd -r myuser && useradd -r -g myuser myuser

# Меняем пользователя
USER myuser

# Далее команды будут выполняться от имени myuser
CMD ["bash"]

Если нужно переключиться на пользователя с определённым UID/GID, можно указать их напрямую:

USER 1001:1001

Важно, чтобы пользователь существовал в контейнере, иначе команда вызовет ошибку.