用 Docker,就不方便执行 Composer 命令了? 不存在的
先附上我搭建的 Dnmp 环境 https://github.com/839891627/dnpm
精简版的,小白都能看得懂,而且论坛里很多教程了,这里不做重复说明了。
这里主要说下 如何在宿主机执行composer/php 之类的命令。
列举两个:以下是在 fish shell 中的配置, 用 zsh 的我就不说了,自己照着这个思路来整。
思路说明:映射了www的网站目录,然后我们截取网站目录的相对路径,切换到容器中的对应目录。
例如:我的代码(www)目录是/Users/caojinliang/Develop/Docker/
, 下面有个 laravel 项目,完整路径/Users/caojinliang/Develop/Docker/ laravel
,那么,执行 composer 命令,我们需要切换到 容器中 /var/www/laravel, 所以我们截取/Users/caojinliang/Develop/Docker/ laravel
的 laravel 字符,然后再docker-exec -it -w 容器内/var/www/laravel/ php容器名称 composer 参数(install...)
这样
function composer
set p (pwd)
# 这个35,是我自己宿主机的地址,即 /Users/caojinliang/Develop/Docker/ 共35个字符,换成你自己的
set pp (string sub $p -s 35)
set ppp /var/www/$pp
docker exec -it -w $ppp php71 composer $argv
end
function php
set p (pwd)
set pp (string sub $p -s 35)
set ppp /var/www/$pp
docker exec -it -w $ppp php71 php $argv
end
推荐文章: