服務器上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退出容器