by Devin Yang

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

本文简单的来介绍,在D-Laravel的别名a如何运行container内的php artisan.
除了透过简单的bash在host端运行container内的命令,也能了解其背后的运作方式。

首先,我们知道,D-Laravel可以透过 ./console alias a ,取得别名a的命令。
alias a="../../artisan.sh"

当我们host端(MacOS或Linux)的某一个D-Laravel的Project的数据夹内时,例如sites/proj1。
我们输入了 a --version 别名,就能跑出Laravel的版号,为何呢?
其实运行a别名是,就是去运行 dlaravel目录下的artisan.sh这个bash
透过这个bash,相当於帮我们运行了官方的命令如下:
docker-compose exec -u dlaravel php php proj1/artisan --version

先来查看我们自己使用的docker-compose版本,可用命令docker-compose version
如果您运行结果与本文不同时,有可能您需要更新您的docker-compose版本。


进入正题,现在让我们来看看a --version转换后的docker-compose命令后,干了什么好事。
点下图可放大查看:
docker-compose help

因此变成别名后,相对简单很多,而且不用进到php的container中即可运行Laravel的artisan命令罗。
这里我采用docker-compose标准的命令,进入container后,再进行php artisan --version的过程

在上例如,至少需运行三行命令,才能运行到proj1资夹的php artisan命令。
一、docker-compose exec -u dlaravel php bash(运行php container服务名称的bash,所以我们进入container内了)
二、cd proj1(进入proj1的数据夹,在container内,默认的任务目录是在/var/www/html)
三、php artisan --version (感动,运行到proj1的php artisan --version了)

换成D-Laravel提供的a别名,我们只要a --version

所以,举一反三,如果我们想看php服务在container中,php的版本,命令为何?
php --version

或者,我们要来查查在php服务的container中使用的Linux核心版本是什么?
uname -a

在D-Laravel的docker-compose环境中,mysql的container服务名称是db。
所以,我们exec db mysql,即可运行container内的mysql命令,进入mysql中罗。
mysql

希望本文,您能了解到,当我们使用了简易的别名时,在D-Laravel的背后是如何运透过官方命令运作的。

Tags: dlaravel

Devin Yang

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

No Comment

Post your comment

需要登入才可留言!

类似文章


dlaravel

D-Laravel v1.5.0新版本了。

一、变更fpm的image生成方式,优化dockerfiles/fpm/php7.x/Dockerfiles,更容易设置及调整扩展包。 二、调整docker-compose-build.yml,并在D-Laravel的Project目录下, 可透过./console build快速创建自己的image罗。 还有更多的变更....

dlaravel

如何启动D-Laravel上的supervisor

由於queue workers是一个长期运行的进程,所以我们会需要一个进程管理员supervisor来监控Linux系统上的process是否持续运作,例如:当queue:work运作失败时,可以自动重启queue:work process。很幸运的D-Laravel已内建supervisor罗,所以不需要再自行安装即可使用。 本文简单的介绍,我们如何来启动container内的supervisor。

dlaravel

D-laravel已添加建议的opcache.ini设置了

最新版本的D-Laravel已添加opcache的建议设置了。 激活方式非常简单,请在D-Laravel目录下运行即可。