docker-compose exec composer как пользователь

У меня есть установка docker-compose, отлично работающая на моем локальном компьютере для моих проектов symfony с nginx, php7-fpm и mysql.

Мне часто нужно устанавливать новые пакеты через composer, поэтому я просто доставляю команду своему контейнеру php-fpm следующим образом:

docker-compose exec my-php-fpm-container composer install

Проблема в том, что все пакеты устанавливаются как root, поэтому мне приходится каждый раз устанавливать что-то. 1259] Я знаю, что флаг "--user" существует, но если я его использую, он выдает следующую ошибку:

ОШИБКА: такой службы нет: composer

Есть ли способ запустить команду docker-compose exec от имени пользователя локального компьютера, чтобы файлы и папки, установленные новым композитором, создавались с моим локальным владельцем Linux, а не с правами root?

5
задан 9 December 2016 в 13:24
1 ответ

Проведя небольшое исследование, я только что понял, что образ php7-fpm, который я использую, имеет некоторые встроенные пользователи, такие как www-data (совместимые с моей фактической конфигурацией коробки). Поэтому мне просто пришлось использовать флаг «--user www-data» вместе с командой, чтобы использовать композитор внутри контейнера и сохранить файлы с нужными разрешениями.

docker-compose exec --user www-data mycontainer composer install

5
ответ дан 3 December 2019 в 01:36

Теги

Похожие вопросы