A docker wrapper to help with general PHP development

安装: 2

依赖项: 0

建议者: 0

安全: 0

星级: 0

观察者: 1

分支: 0

开放问题: 0

语言:Shell

0.3 2023-08-11 06:12 UTC

This package is auto-updated.

Last update: 2024-09-11 08:24:04 UTC


README

一个轻量级的包装器,帮助在Docker中运行PHP项目。

Pilot包装了docker-compose命令行工具,允许您使用.env文件并将环境变量注入到您的docker-compose.ymlDockerfile中,从而更轻松地设置和运行项目。

Pilot包含Dockerfiles来设置和运行PHP 8.1和8.2,尽管扩展最少。如果您需要更多功能,可以使用Pilot与您自己的docker-compose.ymlDockerfiles配置。

Pilot旨在帮助在开发环境中与Docker容器一起工作,不建议在生产环境中使用。

入门

要求

您需要在机器上安装Docker和docker-compose才能使Pilot工作。

安装

Pilot通过Composer提供

composer require savvywombat\pilot --dev

要开始,您可以复制Pilot提供的docker-compose.yml文件

./vendor/bin/pilot install

或者您可以使用自己的docker-compose.yml来配置您项目所需的服务。

环境变量

如果您的docker-compose.yml文件和.env文件位于同一位置,Pilot将导入它们,允许您在docker-compose.ymlDockerfile中使用它们。

Pilot使用以下环境变量进行默认配置

  • WWWGROUP - 使用文件权限的组ID(默认为当前用户组)
  • WWWUSER - 使用文件权限的用户ID(默认为当前用户)
  • NODE_VERSION - 默认pilot服务上安装的node版本(默认为18)
  • HTTP_PORT - 访问默认pilot服务托管网站的外部端口(默认为80)
  • VITE_PORT - 访问默认pilot服务托管vite服务器的外部端口(默认为5173)

docker-compose.yml中的环境变量

您可以在您的docker-compose.yml中使用环境变量。建议您还定义一个默认值,以防变量在您的.env中未定义。

例如,在默认Pilot配置中,我们像这样定义默认服务的端口

    ports:
      - '${HTTP_PORT:-80}:80'
      - '${VITE_PORT:-5173}:5173'

如果没有在启动服务时定义HTTP_PORT,则端口默认为80。

但是,如果您在.env中定义了HTTP_PORT=8080,则8080将是暴露的端口号。

Dockerfile中的环境变量

同样,您也可以在您的Dockerfile中使用环境变量,这样您就可以构建具有特定配置的服务。

命令

安装和构建服务

将Pilot提供的默认docker-compose.yml复制到您的项目根目录。

./vendor/bin/pilot install

构建docker-compose.yml中定义的服务。此命令是docker-compose build的代理,因此可以接受相同的参数,例如--no-cache

./vendor/bin/pilot build-services

访问docker-compose命令

除了build之外,所有docker-compose命令都未经修改代理,可以使用相同的参数使用。使用Pilot确保在运行这些命令时尊重您在.env中定义的环境变量。

运行服务或以监听模式启动它们

./vendor/bin/pilot up
./vendor/bin/pilot up -d

停止服务。

./vendor/bin/pilot down

停止服务并删除它们使用的任何卷

./vendor/bin/pilot down -v

构建和提供资产和内容

在项目中构建任何资源。默认情况下,它运行npm run dev命令。但是,您可以用BUILD_COMMAND环境变量替换另一个命令行脚本

./vendor/bin/pilot build

在开发过程中提供内容。此命令包装了PHP内置的Web服务器,不应作为生产Web服务器使用。该命令自动设置Web服务器的地址和端口,并接受根目录和路由脚本参数

./vendor/bin/pilot serve
./vendor/bin/pilot serve -t public
./vendor/bin/pilot serve -t public public/index.php

其他命令

在主服务上打开终端会话

./vendor/bin/pilot bash

在主服务上运行PHP脚本

./vendor/bin/pilot php ...

在主服务上运行Composer命令

./vendor/bin/pilot composer ...

在Node服务上运行npm命令(这默认为主服务,但您可以在docker-compose.yml中定义一个单独的Node服务,并将NODE_SERVICE设置为您的Node服务名称)

./vendor/bin/pilot npm ...

支持

请使用GitHub问题跟踪器报告问题。您也可以fork存储库并提交pull请求。

许可证

此软件包根据MIT许可证(MIT)授权。