by Devin Yang

建立于: 4年前 ( 更新: 4年前 )

D-Laravel的console命令让我们快速的了解他运行了什么。如果使用docker-compose是怎么运行的呢?
我们来看看吧。

以下是实际运行的情况

一、图片中,我运行了Linux的ls命令,查看有没有docker-compose.yml档,docker-compose命令,是使用递归的方式一层一层目录找上去哦。
docker-compose 命令,只要找的到 docker-compose.yml 这个档就能依文件中的设置,去创建运行的容器罗 。

二、我们来看看,图片中,我运行了./console命令,这只bash帮助我们可以非常快速的运行docker-compose。不加参数的console命令,
在D-Laravel的设置上,就是进到php服务的容器内。
所以很明显,我运行完./console就进入到容器中了
dlaravel@web:/var/www/html$
各位看官,是否注意到了,当运行./console命令时,底下印出了一行官方的命令呢?
docker-compose  -f /Users/devin/dlaravel/docker-compose.yml exec -u dlaravel php bash
这是让我们理解,./console干了什么事用的,他就是跑了docker-compose命令,非常明显的,-f就是指明使用那个docker-compose.yml档。
而-u就是在容器中要使用何种身份,这也是为何,设置别名的console命令,您可以在任意地方运行的原因之一。

三、即然如此,我们是在dlaravel的目录中,而新版的fpm image,使用的默认使用者也是dlaravel,命令当然可以检化。
来看看到图片上,我输入了如下命令一样能正常进到php服务的容器内:
docker-compose exec php bash
(注: php是容器的服务名称,而bash则是您在容器中要运行的命令,您可以把bash改top看看,就会跑容器内的top命令哦。)

运行的结果,是与./console结果,相同的您说是吧。
所以,您也可以试试更多命令,例如下方的:
./console ps

docker-compose ps
这两命令,结果必然相同,因为都是做同一件事情(那用console做啥,就自动补全可快很多呀)。

本人是混用,就是了,如果您使用了dlaravel的.env档,基本上需完全使用console命令。
当然您可以把你要的一些相关服务移到docker-compose.yml内也OK,话说回来用console就好了呀,
console + .env可以任意扩展更多的服务不是很好吗? :)

最后,希望您读完本篇后,对D-Laravel与docker-compose有更深入的了解。:)





 

Tags: docker laravel

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!