janole / laravel-dockerize
A very simple tool to containerize your Laravel app
Installs: 2 412
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 2
Open Issues: 1
Requires
- php: ^7.4|^8.0|^8.1|^8.2|8.3
- ext-json: *
- laravel/framework: ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- vlucas/phpdotenv: ^2|^3|^4|^5
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- dev-master
- dev-main
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.x-dev
- 1.2.16
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9.2
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.1-BETA
- 1.1.0-BETA
- 1.0.x-dev
- 1.0.10
- 1.0.8
- 1.0.7
- 1.0.6-BETA
- 1.0.5
- 1.0.4-BETA2
- 1.0.4-BETA
- 1.0.3
- 1.0.2
- 1.0.1
- 0.x-dev
- 0.3.31
- 0.3.30
- 0.2.22
- 0.2.21
- 0.2.20
- 0.1.19
- 0.1.18
- 0.1.17
- 0.1.16
- 0.1.15
- 0.1.14
- 0.1.13
- 0.1.12
- 0.1.11
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-fix-access-rights
- dev-add-container-build-script
- dev-beta
- dev-dev
- dev-services-for-testing
- dev-laravel-7-compatibility
This package is auto-updated.
Last update: 2025-06-27 11:21:34 UTC
README
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, callphp artisan migrate --force
and then try to run the initial seedersDOCKERIZE_SEED1
or updating seedersDOCKERIZE_SEED2
(if the database wasn't fresh.)