服务器上docker中没有装composer,只有项目中有composer.phar文件,但是又需要composer来管理依赖,我才接触docker 和 php的composer,希望把解决这个问题的过程记录下来,帮助其他遇到这个问题的人。
首先在yml文件从查看映射关系,
我这里是将服务器目录中的/var/www/html 映射到了docker phpfpm容器中的/data0/www/htdocs/中
在服务器的目录下有这些文件:
要使用php composer.phar install,需要进入到容器中才能用(你本地有php就是另外一回事)
使用sudo docker-compose exec phpfpm bash,进入到phpfpm的容器中(windows就不用sudo了),然后ls一下,发现和服务器/var/www/html中的内容一致:
此时就可以使用php composer.phar install了,不过……报错
[RuntimeException] Failed to clone https://github.com/doctrine/inflector.git, git was not found, check that it is installed and in your PATH env. sh: 1: git: not found
说明没有git、zip、unzip,那在这个容器中装上就好了
apt-get install git zip unzip
容器里面换源不太方便,就等它慢慢下吧……
然后就可以用php composer.phar install
如果这个时候速度慢,可以使用镜像。
install成功以后,目录下会有一个vendor文件夹:
最后在容器中使用exit退出容器