Docker-Compose中在应用外Volume通过Composer安装PHP库的问题求助
Docker+Composer安装PHP库的问题
我希望在应用目录外的/var/www/lib目录通过Composer安装PHP库,因为应用目录是我的DOCUMENT_ROOT且为公开目录。同时我希望能在本地查看并编辑该目录下的composer.json文件,因此在docker-compose.yml中创建了将本地./lib挂载到容器/var/www/lib的Volume。
但通过php/Dockerfile安装Composer及phpoffice/phpspreadsheet库后,执行docker-compose up无报错,但容器内/var/www/lib目录和本地./lib目录均为空。
我尝试在docker-compose.yml中通过command命令执行安装:
command: sh -c "cd /var/www/lib && composer require phpoffice/phpspreadsheet"
但PHP容器启动后立即退出,且Docker Desktop中无报错日志。
此外,若在应用目录/var/www/html通过Dockerfile安装库,能正常生成composer.json和vendor目录,但我不希望vendor目录处于公开的DOCUMENT_ROOT下,且需要本地可查看编辑composer.json。
咨询问题
- 我操作中的错误是什么?
- 通过command命令安装是否为最佳方式?
- 是否可通过Dockerfile在Docker-Compose的Volume中完成库安装?
内容的提问来源于stack exchange,提问作者Jorge SM
相关产品推荐
相关产品推荐

