janole/laravel-dockerize

一个用于容器化您的Laravel应用的简单工具

1.3.5 2024-08-27 14:23 UTC

README

一个用于容器化您的Laravel应用的简单工具 ...

什么?为什么?

您是否想轻松地将您的Laravel应用创建为Docker镜像?那么这个项目希望成为您的朋友 ;-)

!! 注意 !! 目前,该项目对一些基本依赖项(例如PostgreSQL)有严重限制。

安装

$ composer require janole/laravel-dockerize

使用方法

1. 首先,您需要指定Docker镜像的名称。将以下变量添加到您的.env文件中

DOCKERIZE_IMAGE="my-shiny-new-app"

或者

DOCKERIZE_IMAGE="my-own.docker-registry.com/my-shiny-new-app"

如果您正在使用git,laravel-dockerize将尝试自动添加一些版本和分支标签到镜像名称。

2. 现在构建镜像

$ php artisan docker:build
cd /Users/ole/projects/Laravel/test-app && docker build -t my-shiny-new-app:0.1-master .
...
* Successfully tagged my-shiny-new-app:0.1-master

太好了!现在您已经有了名为my-shiny-new-app:0.1-master的第一个镜像

!! 注意 !! 用于创建镜像的Dockerfile将自动保存在您的项目根目录中。

3. 在项目根目录中创建一个docker-compose.yml文件

$ php artisan docker:compose -s 
File saved as /Users/ole/projects/Laravel/test-app/docker-compose.yml

4. 通过docker-compose运行项目

$ docker-compose up [-d]
Creating network "test-app_default" with the default driver
Creating volume "test-app_postgres-data" with default driver
Creating test-app_database_1 ... done
Creating test-app_app_1      ... done

内部结构 ...

  • laravel-dockerize将为您的项目添加另一个artisan命令:container:startup。此命令将在容器(重新)启动时自动调用,并尝试为您初始化数据库。为此,它将等待数据库就绪,然后调用php artisan migrate --force,然后尝试运行初始填充器DOCKERIZE_SEED1或更新填充器DOCKERIZE_SEED2(如果数据库不是最新的。)