titasgailius / laravel-dotto
Laravel Dotto 是一个非常简单但高度优化的 Docker 配置,适用于您的 Laravel 应用程序。
Requires
- illuminate/console: ^6.0|^7.0|^8.0
- titasgailius/terminal: ^0.4.0
Requires (Dev)
- orchestra/testbench: ^5.2
This package is auto-updated.
Last update: 2024-08-30 00:40:46 UTC
README
Dotto 是一个非常简单但高度优化的由 Docker 驱动的 Laravel 开发环境配置。
安装
使用 composer 安装 Dotto
composer require titasgailius/laravel-dotto --dev
用法
Dotto 自动发现、配置和启动 Laravel 应用程序所需的服务。
php artisan dotto
进入容器
您可以在命令行中与应用程序容器交互
php artisan dotto:enter
Laravel Tinker
您可以在命令行中与整个 Laravel 应用程序交互
php artisan dotto:tinker
日志
您可以查看应用程序日志
php artisan dotto:logs
配置
您可以通过发布 Dotto.yml
配置文件来自定义 Dotto 设置。
php artisan dotto:publish
数据库
Dotto 会自动检测默认数据库连接并启动相应服务。当然,您也可以覆盖应用程序使用的数据库连接。
databases: - database-1 - database-2
📍 默认情况下,Dotto 使用您的 config/database.php
配置文件中定义的数据库凭据。
📍 数据库的 host
与连接名称相同。
缓存
您可以覆盖应用程序中使用的缓存后端。
caches: - redis - memcached
目前支持的缓存后端:redis
、memchached
。
队列
您可以覆盖应用程序中使用的队列后端。
queues: - redis - beanstalkd
目前支持的队列后端:redis
、beabstalkd
。
扩展
您可以通过使用带有 --m
选项(或 --merge
)的 Dotto 运行指令来指示 Dotto 合并现有的 docker-compose.yml
和 Dockerfile
文件。
php artisan dotto --m
此外,您可以在 AppServiceProvider
中调用 mergeDockerCompose
或 mergeDockerfile
方法,以指示 Dotto 默认合并这些文件。
<?php namespace App\Providers; use TitasGailius\Dotto\Facades\Dotto; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { Dotto::mergeDockerfile(); Dotto::mergeDockerCompose(); } }
然后,您可以直接使用常规的 docker-compose.yml
和 Dockerfile
文件来添加任何新服务或安装额外的 PHP 依赖项。
# dotto-compose.yml version: '3' services: your-service-name: image: "hello-world"
# Dockerfile RUN docker-php-ext-install pcntl ...