mortenscheel/docker-laravel

Docker辅助工具,用于Laravel项目

v0.9.6 2023-09-05 13:42 UTC

README

A CLI工具,用于初始化和管理Laravel项目的Docker环境。

为什么选择它?

我喜欢Laravel Sail的简洁性,但想有一个实际的web服务器,而不是仅仅使用artisan serve

如何使用?

与sail的简单bash脚本不同,我将其构建为Laravel Zero应用,以利用Symfony命令和进程的功能。

提供给docker-laravel的第一个参数用于确定命令发送的位置(大多数命令发送到应用容器,但像upbuildpull这样的compose命令在主机上运行)。

安装

composer global require mortenscheel/docker-laravel

或下载builds/docker-laravel并将其放置在PATH中。

使用方法

我建议创建一个别名,以便于日常使用。

alias d="~/.composer/vendor/bin/docker-laravel"

初始化项目

d init --help

Description:
  Initialize Docker environment

Usage:
  init [options]

Options:
      --slug[=SLUG]     Slug used for container prefix
      --php[=PHP]       PHP-FPM version [default: "8.2"]
      --node[=NODE]     NodeJS version [default: "20"]
      --redis           Include Redis service
      --meilisearch     Include Meilisearch service
      --selenium        Include Selenium service
      --update          Update existing environment

这将复制/docker文件夹和/docker-compose.yml到您的项目中。它还会更新您的.env文件(在您确认更改后)

代理命令

当您在初始化的Laravel项目中运行命令时,docker-laravel将自动代理这些命令。示例

d up -d # runs docker compose up -d. All compose commands are supported
d composer require foo/bar # Commands starting with composer are sent to composer in the app container
d artisan route:list # Sent to artisan in the app container
d a route:list # a is aliased to artisan
d route:list # if the first param includes a colon, it's interpreted as an artisan command
d debug some:command # Runs some:command in Artisan with xdebug enabled
d xdebug on/off/status # Controls xdebug in the app container
d shell/zsh/bash # Enter the app container as the non-root (laravel) user
d root-shell # Enter app as root

注意:此文档仍在不断完善中。要查看所有可用的子命令和功能,请查看DefaultCommand