by Devin Yang

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

本文简单的来介绍,在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上的.env.example档说明

本文说明关於D-Laravel上的.env设置 MYSQL_ROOT_PASSWORD=secret LARAVEL_INSTALLER='container' DOCKER_SERVICES='docker-compose.yml service/redis.yml'

dlaravel

安全的更新D-Laravel

如何升级目前的D-Laravel。 如果您目前使用环境上很顺,没碰到问题,可以不用更新。 如果您想采用最新的版本,及bug修正等,请仔细阅读本文, 为了确保顺利升级,以下是建议的D-Laravel升级方式。

dlaravel

超好用HTML转PDF包mpdf介绍

开发时,会需进行HTML转PDF的输出吗?这个影片介绍,如何透过php的mpdf的函式库,输出PDF画面上。