Если в контейнере приложение запускается не от root, то права на файлы часто ломают сборку или запуск. Вместо отдельного
RUN chown можно сразу копировать файлы с нужным владельцем через COPY с флагом chown.Простой пример для приложения, которое запускается от appuser:
FROM alpine:3.20
RUN addgroup -S app && adduser -S -G app appuser
WORKDIR /app
COPY --chown=appuser:app . /app
USER appuser
CMD ["./app"]
Если в образе нет
/etc/passwd или /etc/group, и указать имя пользователя или группы, сборка может упасть, поэтому для минимальных образов иногда проще использовать числовые UID и GID.📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_prompt