janole/laravel-dockerize

A very simple tool to containerize your Laravel app
2,425 4
Install
composer require janole/laravel-dockerize
Latest Version:1.3.6
PHP:^7.4|^8.0|^8.1|^8.2|8.3
Laravel:5 – 11
License:MIT
Last Updated:Dec 27, 2024
Links: GitHub  ·  Packagist
Maintainer: janole

laravel-dockerize

A very simple tool to containerize your Laravel App ...

What? Why?

Do you want to easily create a Docker image from your Laravel App? Then this project wants to become your friend ;-)

!! NOTICE !! So far, this project is severely limited to some base dependencies (like PostgreSQL for example.)

Installation

$ composer require janole/laravel-dockerize

Usage

1. First, you need to specify the (base-)name of the docker image. Add the following variable to your .env file:

DOCKERIZE_IMAGE="my-shiny-new-app"

or

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

If you're using git, laravel-dockerize will try to automatically add some version and branch tags to the image name.

2. Now build the image:

$ 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

Yay! Now you've got your first image named my-shiny-new-app:0.1-master

!! NOTICE !! The Dockerfile used to create the image will be automatically saved in your project's root.

3. Create a docker-compose.yml file in the project root:

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

4. Run the project via 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

Internals ...

  • laravel-dockerize will add another artisan command to your project: container:startup. This command will be automatically called each time the container is (re-)started and it will try to initialize the database for you. For this, it will wait for the database to be ready, call php artisan migrate --force and then try to run the initial seeders DOCKERIZE_SEED1 or updating seeders DOCKERIZE_SEED2 (if the database wasn't fresh.)

Related Packages

laravel/sail

Docker files for running a basic Laravel application.

235,988,736 1,922
spatie/docker

Run a docker container in your PHPUnit tests

155,065 489
ajuchacko/sail-7.x

Docker files for running a basic Laravel 7 application.

9,372 9
jamosaur/vali

Docker for running a Laravel application

8,392 3
oddvalue/sail

Docker files for running a basic Laravel application.

5,247 0

Version History

Version Released PHP Laravel License
1.3.6 ^7.4|^8.0|^8.1|^8.2|8.3 ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0 MIT
1.3.5 ^7.4|^8.0|^8.1|^8.2|8.3 ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0 MIT
1.3.4 ^7.4|^8.0|^8.1|^8.2|8.3 ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0 MIT
1.3.3 ^7.4|^8.0|^8.1|^8.2|8.3 ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0 MIT
1.3.2 ^7.4|^8.0|^8.1|^8.2|8.3 ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0 MIT
Pre-releases (5)
Version Released PHP Laravel License
1.1.1-BETA ^7.1|^8.0|^8.1 ^5.5|^6.0|^7.0|^8.0|^9.0 MIT
1.1.0-BETA ^7.1|^8.0 ^5.5|^6.0|^7.0|^8.0 MIT
1.0.6-BETA ^7.1|^8.0 ^5.5|^6.0|^7.0|^8.0 MIT
1.0.4-BETA2 ^7.1|^8.0 ^5.5|^6.0|^7.0|^8.0 MIT
1.0.4-BETA ^7.1|^8.0 ^5.5|^6.0|^7.0|^8.0 MIT