1、 Artisan 命令
首先进入Workspace容器
docker-compose exec workspace bash
然后在Laravel项目目录下运行Artisan命令即可:
php artisan list
当然,也可以运行其他PHP命令,如:
composer update phpunit
2、PHP相关
安装PHP扩展
安装PHP扩展之前,需要区分PHP-FPM和PHP-CLI,两者对应的扩展应该安装到不同的容器:
- PHP-FPM扩展需要安装到
php-fpm/Dockerfile-XX
(XX代表PHP版本号); - PHP-CLI扩展需要安装到
workspace/Dockerfile
修改PHP-FPM版本
默认运行PHP-FPM 7.0版本,如果要切换到5.6版本,操作步骤如下:
- 打开
docker-compose.yml
- 找到php-fpm所在位置,使用
Dockerfile-56
替换Dockerfile-70
:php-fpm: build: context: ./php-fpm dockerfile: Dockerfile-70
- 最后重建PHP容器:
docker-compose build php
注:更多PHP基础镜像,请访问 PHP Docker官方镜像 。
修改PHP-CLI版本
默认运行的PHP-CLI是7.0版本,PHP-CLI只用于服务Artisan或Composer命令,不服务于应用代码,这是PHP-FPM的工作,所以PHP-CLI的版本号基本上无关痛痒。PHP-CLI安装在Workspace容器,改变PHP-CLI版本需要编辑 workspace/Dockerfile
。
安装 XDebug
首先需要在Workspace和PHP-FPM容器中安装XDebug:
1)打开 docker-compose.yml
文件;
2)在Workspace容器中找到 INSTALL_XDEBUG
选项,改为 true
;
3)在PHP-FPM容器中找到 INSTALL_XDEBUG
选项,改为 true
;
workspace: build: context: ./workspace args: - INSTALL_XDEBUG=true ... php-fpm: build: context: ./php-fpm args: - INSTALL_XDEBUG=true ...
然后重建这两个容器:
docker-compose build workspace php-fpm
3、使用自定义域名
假设你的自定义域名是 laravel.dev
,设置步骤如下:
1)打开 etc/hosts
,添加以下映射内容:
127.0.0.1 laravel.dev
并在nginx中配置域名:
server_name laravel.dev;
2)打开浏览器访问 http://laravel.dev
4、全局安装Composer
1)打开 docker-compose.yml
文件
2)在Workspace容器中找到 COMPOSER_GLOBAL_INSTALL
选项并设置为 true
;
workspace: build: context: ./workspace args: - COMPOSER_GLOBAL_INSTALL=true ...
3)现在添加你的依赖关系到 workspace/composer.json
4)最后重建容器 docker-compose build workspace
5、使用Redis
首先需要启动Redis容器:
docker-compose up -d redis
然后,打开Laravel项目下的 .env
文件修改 REDIS_HOST
:
REDIS_HOST=redis
如果 .env
中没有 REDIS_HOST
变量,则需要修改 config/database.php
中的 redis
默认主机配置:
'redis' => [ 'cluster' => false, 'default' => [ 'host' => 'redis', 'port' => 6379, 'database' => 0, ], ],
启用Redis缓存或设置Session驱动为Redis:
CACHE_DRIVER=redis SESSION_DRIVER=redis
通过Composer安装 predis/predis
依赖:
composer require predis/predis:^1.0
你可以用以下代码在Laravel中手动测试:
Cache::store('redis')->put(’site_name', ‘Laravel学院', 10);
其它软件使用以此类推。
6、安装Node+NPM
1)打开 docker-compose.yml
文件;
2)在Workspace容器中找到 INSTALL_NODE
选项设置为 true
;
workspace: build: context: ./workspace args: - INSTALL_NODE=true ...
3)最后重建容器: docker-compose build workspace