Текст и данные · Инструкция
Как запустить compose exec от заданного пользователя
Это удобно для разовой проверки прав или административной операции без пересоздания самого контейнера.
Короткий ответ
`docker compose exec --user <uid-or-name> <service> <command>` запускает команду внутри работающего сервиса от выбранного пользователя.
Что делать
- Узнать текущий UID: Выполните `docker compose exec <service> id`.
- Запустить нужным user: Добавьте `--user <uid-or-name>` перед именем сервиса.
- Проверить владельца файлов: Если команда пишет в volume, сверяйте UID/GID созданных файлов на host и в контейнере.
Как понять, что получилось
- Exec-команда выполнилась от указанного пользователя, а основной процесс сервиса продолжил работать со своей конфигурацией.
Что учесть
Запуск от root может создать в bind mount файлы с неудобным владельцем для host-пользователя.
Что учитывать
Запуск от root может создать в bind mount файлы с неудобным владельцем для host-пользователя.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. docker compose exec). Пример и формулировки — редакция N1RO на 2026-09-18.