Laravel Sail 是一个命令行界面,允许您在 docker 环境中创建和管理您的 Laravel 应用程序。如果您对 docker 一无所知或了解一点,则此命令行界面允许您管理本地 docker 环境。
Sail 将在后台使用 docker 安装所有项目依赖项。您无需在本地机器上安装任何上述依赖项即可使用 Laravel 项目。
让我们看下图来了解 Laravel Sail 是如何工作的:
sail-diagram.png
在你的 Laravel Sail 项目中,你会找到一个名为 docker-compose.yml 的文件。该文件基本上定义了您的项目所需的不同服务
当sails 运行时,它将从dockerhub 中提取所有需要的图像,然后为您的docker-compose.yml 文件中定义的每个服务创建容器。如果需要,您可以根据您的项目添加更多服务。
安装
如果需要使用sail,那么你需要安装curl命令,安装docker容器。
使用sail安装一个laravel容器的方法如下:
curl -s "https://laravel.build/example-app" | bash
# once installed run docker containers using
./vendor/bin/sail up
# to destroy running container run
./vendor/bin/sail down
使用方法
通过sail命令,我们就可以访问容器中的服务,比如mysql,redis,artisan等。
# run artisan command using sail
# use following syntax for your artisan commands
./vendor/bin/sail artisan <command>
# example
./vendor/bin/sail artisan queue:work
# if you want to execute php command or script use
# following syntax for php commands
./vendor/bin/sail php <command>
# example
./vendor/bin/sail php --version
# to run composer commands using sail
# use following syntax
./vendor/bin/sail composer <command>
# exaamples
./vendor/bin/sail composer install
./vendor/bin/sail composer update
./vendor/bin/sail composer require laravel/sanctum
# if your project runs on npm or node or yarn use
# following sytaxes
./vendor/bin/sail npm <command>
./vendor/bin/sail yarn <command>
./vendor/bin/sail node <command>
# examples
./vendor/bin/sail yarn install
./vendor/bin/sail npm install
./vendor/bin/sail node --version
# if you want to ssh into container
./vendor/bin/sail bash
# if you want to check container logs
./vendor/bin/sail logs -f
# if you want to restart specific service
./vendor/bin/sail restart <service_name>
./vendor/bin/sail restart mysql