title: Introduction type: index
A full PHP development environment for Docker.
Includes pre-packaged Docker Images, all pre-configured to provide a wonderful PHP development environment.
Laradock is well known in the Laravel community, as the project started with single focus on running Laravel projects on Docker. Later and due to the large adoption from the PHP community, it started supporting other PHP projects like Symfony, CodeIgniter, WordPress, Drupal...
Let's see how easy it is to install NGINX
, PHP
, Composer
, MySQL
, Redis
and Beanstalkd
:
1 - Clone Laradock inside your PHP project:
git clone https://github.com/Laradock/laradock.git
2 - Enter the laradock folder and rename env-example
to .env
.
cp env-example .env
3 - Run your containers:
docker-compose up -d nginx mysql phpmyadmin redis workspace
4 - Open your project's .env
file and set the following:
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
5 - Open your browser and visit localhost: http://localhost
.
That's it! enjoy :)
Dockerfile
.Dockerfile
).docker-compose
).In adhering to the separation of concerns principle as promoted by Docker, Laradock runs each software on its own Container. You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.
Laradock introduces the Workspace Image, as a development environment. It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
Workspace Image Tools PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush...
You can choose, which tools to install in your workspace container and other containers, from the .env
file.
If you modify
docker-compose.yml
,.env
or anydockerfile
file, you must re-build your containers, to see those effects in the running instance.
If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)
Support this project by becoming a sponsor.
Your logo will show up on the github repository index page and the documentation main page, with a link to your website. [Become a sponsor]
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production.
Vagrant creates Virtual Machines in minutes while Docker creates Virtual Containers in seconds.
Instead of providing a full Virtual Machines, like you get with Vagrant, Docker provides you lightweight Virtual Containers, that share the same kernel and allow to safely execute independent processes.
In addition to the speed, Docker gives tons of features that cannot be achieved with Vagrant.
Most importantly Docker can run on Development and on Production (same environment everywhere). While Vagrant is designed for Development only, (so you have to re-provision your server on Production every time).
What's better than a Demo Video:
You are welcome to join our chat room on Gitter.
Help keeping the project development going, by contributing or donating a little. Thanks in advance.
Donate directly via Paypal
or become a backer on Open Collective
or show your support via Beerpay