sh4*_*sh4 5 php-fpm symfony docker composer docker-compose
我有一个 docker-compose 设置在我的本地机器上完美运行,用于使用 nginx、php7-fpm 和 mysql 的 symfony 项目。
我经常需要通过 composer 安装新的包,所以我只是像这样将命令传递到我的 php-fpm 容器:
docker-compose exec my-php-fpm-container composer install
Run Code Online (Sandbox Code Playgroud)
问题是以 root 身份安装所有软件包,所以我每次安装时都必须 chown。
我知道标志“--user”存在,但如果我使用它,它会出现以下错误:
错误:没有这样的服务:作曲家
有没有办法以本地机器用户身份运行 docker-compose exec 命令,以便新的 Composer 安装的文件和文件夹使用我的本地 linux 用户所有权而不是 root 创建自己?
在做了一些研究之后,我才意识到我使用的 php7-fpm 图像有一些内置的用户,比如 www-data(与我的实际盒子配置兼容)。所以我只需要使用标志“--user www-data”和命令来在容器内使用composer并保持文件具有正确的权限。
docker-compose exec --user www-data mycontainer composer install
| 归档时间: |
|
| 查看次数: |
8656 次 |
| 最近记录: |