anteris-dev / skaffold-laravel
此包已被放弃,不再维护。没有建议的替代包。
Skaffold 使 Laravel 项目能够在一个 Docker 容器中运行。
v0.1.1
2020-07-28 18:50 UTC
This package is auto-updated.
Last update: 2021-04-29 01:14:09 UTC
README
此包可以让您轻松在包含 Laravel 的 Docker 环境中启动。它提供了您开始开发并构建成生产 Docker 镜像所需的所有工具。
- 注意:尽管您可以完全自由地修改 Nginx 配置文件,但我们假设此应用程序将位于处理 SSL 设置的代理之后,而不是直接影响此应用程序。因此,默认情况下不包括 SSL 设置。
要求
入门
要开始使用此项目,必须执行以下步骤。
- 在项目目录中运行
composer create-project anteris-dev/skaffold-laravel
。这将下载项目文件。 - (可选)如果您有一个现有的 Laravel 项目,创建一个名为
src
的目录并将您的项目文件复制进去。启动时,容器将安装您的 composer 和 npm 依赖项,但您需要通过workspace
容器手动运行任何迁移或构建。 - 在 skaffold 目录中运行
docker-compose up -d
。如果在src
目录中没有找到 Laravel 文件,将创建一个新的 Laravel 项目。这可能需要一些时间。 - 访问
http://localhost
以查看您的 Laravel 网站!
开发提示
- 使用
workspace
容器来运行任何 artisan、composer 或 npm 命令。- 您可以通过在项目目录中运行
docker-compose exec -it workspace sh
来访问此容器。 - 使用
docker/docker-entrypoint-workspace.sh
来编写任何开发设置命令(例如数据库迁移/填充)。默认情况下,此容器会安装 composer 和 npm 要求。
- 您可以通过在项目目录中运行
- 您可以在项目目录中运行
docker build .
命令来构建生产容器。务必根据需要修改配置文件! - 您可以通过
docker/env-example
文件设置环境变量。我们建议您将此文件限制为仅包含APP_NAME
和APP_KEY
。其余部分通过直接传递给 Docker 容器的环境变量驱动。
目录结构
尽管我们尽力而为,但此项目的目录结构略微复杂。我们认为这是一个值得的权衡,因为它将事物很好地整理到各自的区域中。每个服务都在 docker
目录下有自己的“域”。
- .data - 此文件夹将自动创建以持久化您的数据库。
- /docker
- /nginx - 包含 Nginx 特定配置文件。
- /global - 所有环境的 Nginx 配置。
- /php-fpm - 包含 PHP-FPM 特定配置文件。
- /development - 开发环境的 PHP-FPM 配置。
- /production - 生产环境的 PHP-FPM 配置。
- /supervisord - 包含 Supervisord 配置文件。
- /global - 所有环境的 Supervisord 配置。
- docker-entrypoint.sh - 生产容器的入口点。
- docker-entrypoint-workbench.sh - 工作台容器的入口点。这是一个写入您开发环境设置命令(例如数据库迁移/填充)的好地方。
- env-example - 一个环境文件,在启动时将被复制到容器中。
- /nginx - 包含 Nginx 特定配置文件。
- /src - 此目录会自动创建,是您可以在此处进行操作的目录。Laravel 将安装在此处。
- docker-compose.yaml - 此文件允许您在您的机器上快速启动开发环境。
- Dockerfile - 此应用的生成镜像。
- Dockerfile.dev - 一个运行 PHP 和 Nginx 的开发镜像。
- Dockerfile.workspace - 一个包含 PHP CLI 和 NPM 的开发镜像,这样您就可以运行控制台命令。