Php-Fpm
docker-compose exec 作曲家作為使用者
對於我的 symfony 項目,我有一個 docker-compose 設置在我的本地機器上執行完美,包括 nginx、php7-fpm 和 mysql。
我經常需要通過 composer 安裝新包,所以我只需將命令傳遞到我的 php-fpm 容器,如下所示:
docker-compose exec my-php-fpm-container composer install
問題是以root身份安裝所有軟體包,所以每次安裝時我都必須chown。
我知道標誌“–user”存在,但如果我使用它,它會出現以下錯誤:
錯誤:沒有這樣的服務:作曲家
有沒有辦法以本地機器使用者身份執行 docker-compose exec 命令,以便新的作曲家安裝的文件和文件夾使用我的本地 linux 使用者所有權而不是 root 創建自己?
在做了一些研究之後,我才意識到我正在使用的 php7-fpm 圖像有一些內置的使用者,比如 www-data(與我的實際盒子配置兼容)。所以我只需要使用標誌“–user www-data”和命令來使用容器內的作曲家並保持文件具有正確的權限。
docker-compose exec –user www-data mycontainer composer install