diff --git a/README.md b/README.md index c442a0f8..c2286e45 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,10 @@ It's like Laravel Homestead but for Docker instead of Vagrant. - [Intro](#Intro) + - [What is Docker](#what-is-docker) + - [What is Laravel](#what-is-laravel) + - [Why Docker not Vagrant](#why-docker-not-vagrant) + - [LaraDock VS Homestead](#laradock-vs-homestead) - [Supported Containers](#Supported-Containers) - [Requirements](#Requirements) - [Installation](#Installation) @@ -47,20 +51,40 @@ LaraDock strives to make the development experience easier. It contains pre-packaged Docker Images that provides you a wonderful development environment without requiring you to install PHP, NGINX, MySQL, REDIS, and any other software on your local machine. - + ### What is Docker? [Docker](https://www.docker.com) is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of [operating-system-level virtualization](https://en.wikipedia.org/wiki/Operating-system-level_virtualization) on Linux, Mac OS and Windows. + ### What is Laravel? Seriously!!! + + ### Why Docker not Vagrant!? -[Vagrant](https://www.vagrantup.com) gives you Virtual Machines in minutes while Docker gives you Virtual Containers in seconds. + +[Vagrant](https://www.vagrantup.com) 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 tens 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). + + + +### LaraDock VS Homestead + +LaraDock and [Homestead](https://laravel.com/docs/master/homestead) both gives you a complete virtual development environments. (Without the need to install and configure every single software on your own Operating System). + +- Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine. + +- LaraDock is a tool that controls Docker for you (using Docker Compose official commands). And Docker manages you Virtual Containers. + +Running a virtual Container is much faster than running a full virtual Machine. +
Thus **LaraDock is much faster than Homestead**. ## Supported Containers @@ -72,6 +96,10 @@ Instead of providing a full Virtual Machines, like you get with Vagrant, Docker - Redis - Data Volume +Cannot find your container! we would love to have it as well. Consider contributing your container and adding it to the list. + + + ## Requirements - Laravel ([Download](https://laravel.com/docs/master/installation)) @@ -79,6 +107,8 @@ Instead of providing a full Virtual Machines, like you get with Vagrant, Docker - Git ([Download](https://git-scm.com/downloads)) - Composer ([Download](https://getcomposer.org/download/)) + + ## Installation @@ -97,6 +127,8 @@ git submodule add https://github.com/LaraDock/laradock.git docker >These commands should create a `docker` folder, on the root directory of your Laravel project. + + ## Usage @@ -176,6 +208,8 @@ To stop single container do: docker-compose stop {container-name} ``` + +
#### Delete all existing Containers @@ -346,6 +380,8 @@ server_name laravel.dev; The Log files are stored in the `docker/logs` directory. + +
#### Enter a Container (SSH into a running Container) @@ -375,6 +411,7 @@ To prevent a container (software) from running, open the `docker-compose.yml` fi +
#### Edit a Docker Image