anteris-dev/skaffold-laravel

此包已被放弃,不再维护。没有建议的替代包。

Skaffold 使 Laravel 项目能够在一个 Docker 容器中运行。

安装: 39

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 1

开放问题: 4

语言:Dockerfile

类型:项目

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 设置。

要求

入门

要开始使用此项目,必须执行以下步骤。

  1. 在项目目录中运行 composer create-project anteris-dev/skaffold-laravel。这将下载项目文件。
  2. (可选)如果您有一个现有的 Laravel 项目,创建一个名为 src 的目录并将您的项目文件复制进去。启动时,容器将安装您的 composer 和 npm 依赖项,但您需要通过 workspace 容器手动运行任何迁移或构建。
  3. 在 skaffold 目录中运行 docker-compose up -d。如果在 src 目录中没有找到 Laravel 文件,将创建一个新的 Laravel 项目。这可能需要一些时间。
  4. 访问 http://localhost 以查看您的 Laravel 网站!

开发提示

  • 使用 workspace 容器来运行任何 artisancomposernpm 命令。
    • 您可以通过在项目目录中运行 docker-compose exec -it workspace sh 来访问此容器。
    • 使用 docker/docker-entrypoint-workspace.sh 来编写任何开发设置命令(例如数据库迁移/填充)。默认情况下,此容器会安装 composer 和 npm 要求。
  • 您可以在项目目录中运行 docker build . 命令来构建生产容器。务必根据需要修改配置文件!
  • 您可以通过 docker/env-example 文件设置环境变量。我们建议您将此文件限制为仅包含 APP_NAMEAPP_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 - 一个环境文件,在启动时将被复制到容器中。
  • /src - 此目录会自动创建,是您可以在此处进行操作的目录。Laravel 将安装在此处。
  • docker-compose.yaml - 此文件允许您在您的机器上快速启动开发环境。
  • Dockerfile - 此应用的生成镜像。
  • Dockerfile.dev - 一个运行 PHP 和 Nginx 的开发镜像。
  • Dockerfile.workspace - 一个包含 PHP CLI 和 NPM 的开发镜像,这样您就可以运行控制台命令。