Текст и данные · Инструкция
Как использовать COPY --chown в Dockerfile
Если приложение запускается не от root, файлам нужен правильный владелец. `COPY --chown=..` позволяет назначить ownersh
Короткий ответ
Используйте `COPY --chown=<user>:<group> <src> <dest>` или числовые UID/GID. Убедитесь, что имена пользователя и группы существуют в target stage.
Что делать
- Создайте пользователя при необходимости: До COPY добавьте пользователя/группу подходящим для базового image способом.
- Скопируйте с владельцем: Например: `COPY --chown=10001:10001 . /app`.
- Переключите USER: Если приложение должно работать без root, задайте `USER 10001` после подготовки файлов.
- Проверьте образ: Запустите контейнер и убедитесь, что процесс читает/пишет только нужные пути.
Проверка результата
- Файлы в image имеют ожидаемый UID/GID
- Приложение стартует под целевым пользователем без permission denied
Важно
Именованные user/group требуют разрешения имён внутри build stage; числовые UID/GID уменьшают зависимость от `/etc/passwd` и `/etc/group`.
Что учитывать
Именованные user/group требуют разрешения имён внутри build stage; числовые UID/GID уменьшают зависимость от `/etc/passwd` и `/etc/group`.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Dockerfile reference). Пример и формулировки — редакция N1RO на 2026-09-18.