diff --git a/README.md b/README.md
index f476474f..1783b5ab 100644
--- a/README.md
+++ b/README.md
@@ -68,10 +68,10 @@ Instead of providing a full Virtual Machines, like you get with Vagrant, Docker
- PHP
- NGINX
- MySQL
+- Postgres
- Redis
- Data Volume
-
## Requirements
- Laravel ([Download](https://laravel.com/docs/master/installation))
@@ -114,23 +114,35 @@ DB_HOST=xxx.xxx.xxx.xxx
[How to find my Docker IP Address?](#Find-Docker-IP-Address)
-2 - Run the containers:
+2 - Run the Containers, (you can select the software's (containers) that you wish to run)
-*(Make sure you are in the `docker` folder before running this command)*
+*Make sure you are in the `docker` folder before running the `docker-compose` command.*
+
+> Running PHP, NGINX and MySQL:
```bash
-docker-compose up -d
+docker-compose up -d php nginx mysql
+```
+
+Note: you can choose your own combination of software's (containers), another example:
+
+> Running PHP, NGINX, Postgres and Redis:
+
+```bash
+docker-compose up -d php nginx postgres redis
```
->*Only the first time you run this command, it will take up to 5 minutes (depend on your connection speed) to download the Docker Images on your local machine.*
3 - Open your browser and visit your `{Docker-IP}` address (`http://xxx.xxx.xxx.xxx`).
-> **Debugging**: in case you faced an error here, run this command from the Laravel root directory:
->
-> `sudo chmod -R 777 storage && sudo chmod -R 777 bootstrap/cache`
+
+**Debugging**: in case you faced an error here, run this command from the Laravel root directory:
+
+```bash
+sudo chmod -R 777 storage && sudo chmod -R 777 bootstrap/cache
+```
@@ -172,17 +184,26 @@ docker-compose rm -f
#### Build/Re-build Containers
+
+If you do any change to any `dockerfile` make sure you run this command, for the changes to take effect:
+
```bash
docker-compose build
```
+Optionally you can specify which container to rebuild (instead of rebuilding all the containers), example rebuilding `PHP`:
+```bash
+docker-compose build php
+```
#### Use Redis in Laravel
-Open your Laravel's `.env` file and set the `REDIS_HOST` to your `Docker-IP` instead of the default `127.0.0.1` IP.
+1 - First make sure you run the Redis Container with the `docker-compose` command.
+
+2 - Open your Laravel's `.env` file and set the `REDIS_HOST` to your `Docker-IP` instead of the default `127.0.0.1` IP.
```env
REDIS_HOST=xxx.xxx.xxx.xxx
@@ -201,26 +222,27 @@ If you don't find the `REDIS_HOST` variable in your `.env` file. Go to the datab
],
```
-To enable Redis Caching and/or for Sessions Management. Also from the `.env` file set `CACHE_DRIVER` and `SESSION_DRIVER` to `redis` instead of the default `file`.
+3 - To enable Redis Caching and/or for Sessions Management. Also from the `.env` file set `CACHE_DRIVER` and `SESSION_DRIVER` to `redis` instead of the default `file`.
```env
CACHE_DRIVER=redis
SESSION_DRIVER=redis
```
-Finally make sure you have the `predis/predis` package `(~1.0)` installed via Composer first.
+4 - Finally make sure you have the `predis/predis` package `(~1.0)` installed via Composer first.
```bash
composer require predis/predis:^1.0
```
-You can manually test it with:
+5 - You can manually test it from Laravel with this code:
```php
\Cache::store('redis')->put('laradock', 'awesome', 10);
```
+
#### Use custom Domain (instead of the Docker IP)
diff --git a/docker-compose.yml b/docker-compose.yml
index 14a24015..ed708726 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -28,6 +28,16 @@ services:
links:
- mysql
+### DATA Container ##########################################
+
+ data:
+ build: ./data
+ container_name: data
+ volumes:
+ - /var/lib/mysql
+ - /var/lib/postgresql/data
+ - /var/lib/redis
+
### MySQL Container #########################################
mysql:
@@ -67,14 +77,4 @@ services:
ports:
- "6379:6379"
-### DATA Container ##########################################
-
- data:
- build: ./data
- container_name: data
- volumes:
- - /var/lib/mysql
- - /var/lib/postgresql/data
- - /var/lib/redis
-
### Add more Containers below ###############################