Php-Fpm

docker-compose exec 作曲家作為使用者

  • December 12, 2016

對於我的 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

引用自:https://serverfault.com/questions/819774