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

需要登入才可留言!

类似文章


docker,dlaravel

D-Laravel 1.5.5变更说明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 并且所以我可以指定了fpm的默认的owner是dlaravel, --with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody) --with-fpm-group=GRP Set the group for php-fpm to run as.

dlaravel

D-Laravel v1.5.0新版本了。

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

dlaravel

使用docker in docker创建D-Laravel测试环境。

D-Laravel是一个极易使用并且极有弹性的Laravel开发环境,只要您是Mac的使用者,就算不懂Docker也可以透过他来创建Laravel的项目,进行开发,由於最近添加.env的功能新功能时,急者push,却没有完整测试,搞出了一堆新的Bug,所以,这次新建了一个新的dlaravel_test,bash的测试工具,透过doceker in docker的方式来跑测试。确保D-Laravel的每一次释出都能是一个稳定的版本。