titasgailius/laravel-dotto

Laravel Dotto 是一个非常简单但高度优化的 Docker 配置,适用于您的 Laravel 应用程序。

dev-master 2020-09-27 11:25 UTC

README

Dotto 是一个非常简单但高度优化的由 Docker 驱动的 Laravel 开发环境配置。

Dotto

安装

使用 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

目前支持的缓存后端:redismemchached

队列

您可以覆盖应用程序中使用的队列后端。

queues:
  - redis
  - beanstalkd

目前支持的队列后端:redisbeabstalkd

扩展

您可以通过使用带有 --m 选项(或 --merge)的 Dotto 运行指令来指示 Dotto 合并现有的 docker-compose.ymlDockerfile 文件。

php artisan dotto --m

此外,您可以在 AppServiceProvider 中调用 mergeDockerComposemergeDockerfile 方法,以指示 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.ymlDockerfile 文件来添加任何新服务或安装额外的 PHP 依赖项。

# dotto-compose.yml
version: '3'

services:
  your-service-name:
    image: "hello-world"
# Dockerfile
RUN docker-php-ext-install pcntl

...