Vessel 是一个轻量级的 Laravel Docker 环境
发布于 作者: Paul Redmond
Vessel 是 Chris Fidao 的一个新软件包 - 他是 黑客服务器 和 Docker 发货的作者 - 它让您在 Laravel 项目中使用 Docker 变得轻而易举。
为什么选择 Vessel?
据 Chris Fidao 所说,Vessel 是他用来简化 Docker 和 Laravel 开发工作流程的结果。
Vessel 最初只是一个我编写用来简化 Docker 操作的 bash 脚本。
这一切都始于 Docker 命令过于繁琐。在进行 Laravel 项目开发时,您经常需要使用命令行界面 - Laravel 的典型工作流程包括创建控制器或模型、创建和运行迁移、运行队列工作程序、添加更多软件包等等!
我从自己每天的使用中开发了这种工作流程,甚至还创建了一个关于它的免费视频系列。然而,我想制作一些更正式的东西,让每个人都能轻松使用。
这个项目的目的是尽可能地简单,同时让人们了解 Docker 的工作原理。我希望您能发现 Docker 是一种非常巧妙的方式来对您的项目进行分区,并让您轻松地在任何机器上进行项目开发。
Vessel 包含什么?
Vessel 包含一个 Laravel 服务提供商,它可以轻松地让您开始使用,并允许您开始尝试 Docker。在幕后,Vessel 使用 Docker Compose 文件和 bash 脚本,您可以使用它们来发出简单的命令来停止、启动和删除容器;vessel bash 脚本还允许您轻松地为 Composer、Artisan、PHPUnit 和 NPM 运行命令。
在撰写本文时,Docker 设置包括
- PHP 7.1
- MySQL 5.7
- Redis
- 带有 NPM、Yarn 和 Gulp 的 NodeJS
入门
Vessel 有很好的文档,涵盖了您开始使用和更高级使用所需的一切,包括解决 Linux 卷问题。
这是您开始在 Laravel 项目中使用 Vessel 所需做的全部事情
# Install Vessel into your projectcomposer require shipping-docker/vessel:~1.0 # Publish the `vessel` command and Docker filesphp artisan vendor:publish --provider="Vessel\VesselServiceProvider"
如果您运行 Laravel Valet 或其他使用端口 80
的本地设置,您需要在您的 .env
文件中添加一些变量。默认情况下,Vessel(通过 Docker Compose)会绑定端口 3306
和 80
APP_PORT=8080MYSQL_PORT=33060
或者您可以像这样运行 Vessel
APP_PORT=8080 MYSQL_PORT=33060 ./vessel start
查看 官方文档 和 官方仓库,以了解更多关于 Vessel 的信息,并轻松地开始在 Laravel 中使用 Docker。