blamebutton / laravel-docker-builder
为Laravel准备的成品Docker文件
0.1.4
2023-01-20 18:01 UTC
Requires
- php: ^8.0
- composer/semver: ^3.3
- guzzlehttp/guzzle: ^7.5
- illuminate/contracts: ^9.0 | ^10.0
- twig/twig: ^3.0
Requires (Dev)
- laravel/pint: ^1.4
- orchestra/testbench: ^7.19
README
功能
- 使用Artisan CLI构建Docker镜像
- 检测PHP版本和扩展
- 使用Vite.js或Laravel Mix捆绑资源
- 分离NGINX和PHP-FPM镜像
- 部署示例(适用于Kubernetes和Docker Compose)
安装
composer require --dev blamebutton/laravel-docker-builder
用法
检测配置
php artisan docker:generate --detect
当将 --detect
传递给 docker:generate
命令时,它将自动检测以下需求
- PHP版本,通过检测
composer.json
中的php
版本 - PHP扩展,通过检测项目的配置
- 缓存驱动器:Redis、Memcached、APC
- 数据库驱动器:MySQL、Postgres、SQL Server
- 广播驱动器:Redis
- 队列驱动器:Redis
- 会话驱动器:Redis、Memcached、APC
- Node包管理器,通过检测
package-lock.json
或yarn.lock
的存在 - Node构建工具,通过检测
vite.config.js
或webpack.mix.js
的存在
手动配置
php artisan docker:generate
当未传递任何选项给 docker:generate
时,将使用提示来配置项目需求。
运行 php artisan docker:generate --help
查看所有可用选项及其支持的值。
-p, --php-version
- Docker镜像的PHP版本-e, --php-extensions
- 要包含在Docker镜像中的PHP扩展(逗号分隔)-o, --optimize
- 容器启动时运行php artisan optimize
-a, --alpine
- 使用基于Alpine Linux的镜像-m, --node-package-manager
- 使用NPM或Yarn安装Node依赖项-b, --node-build-tool
- 运行Vite.js或Laravel Mix构建步骤
配置
选项1:配置文件
php artisan vendor:publish --provider="BlameButton\LaravelDockerBuilder\DockerServiceProvider"
选项2:.env
默认情况下,配置文件读取以下环境变量以确定Docker镜像标签。
DOCKER_NGINX_TAG=laravel-app:nginx DOCKER_PHP_TAG=laravel-app:php