Как указать docker'у пользователя linux от которого создавать файлы(миграции laravel)?
у docker exec есть параметр -u в котором можно указать пользователя или его uid
Думаю, ты даже можешь в контейнере сменить uid рута на такой же как у тебя на хост машине и в итоге миграции будут создаваться внутри контейнера от рута, а в volume на хост машине будут принадлежать тебе. Но, это не точно :)
@rustler2000: у docker-compose exec есть параметр -u в котором можно указать пользователя или его uid@GregIv: Попробовал, получил такую ошибки:
unable to find user SOME_USER: no matching entries in passwd file@rustler2000: Или при создание контейнера надо делать пользователя с правильным uid/gidИтого, решение:
1) Копируем строку с вашим пользователем из
/etc/passwd
2) Добавляем в нужный .docker файл такую инструкцию:RUN echo "СТРОКА ИЗ П1" >> /etc/passwd
3) docker-compose -d --build
4) Запускаем с параметром -uSOME_USER (или указываем конструкцию user: SOME_USER в docker-compose.yml, а лучше выносим имя пользователя в .env)