|
|
@ -1,31 +1,53 @@
|
|
|
|
# LaraDock
|
|
|
|
# LaraDock
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[](http://www.zalt.me)
|
|
|
|
[](http://www.zalt.me)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LaraDock helps you run your **Laravel** App on **Docker** real quick.
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
It's like Laravel Homestead but for Docker instead of Vagrant.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
## Contents
|
|
|
|
## Contents
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [Intro](#Intro)
|
|
|
|
- [Intro](#Intro)
|
|
|
|
|
|
|
|
- [Supported Software (Docker Images)](#Supported-Software)
|
|
|
|
- [Requirements](#Requirements)
|
|
|
|
- [Requirements](#Requirements)
|
|
|
|
|
|
|
|
- [Screencast Tutorial](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
|
|
|
|
|
|
|
- [Installation](#Installation)
|
|
|
|
- [Usage](#Usage)
|
|
|
|
- [Usage](#Usage)
|
|
|
|
- [Documentation](#Documentation)
|
|
|
|
- [Documentation](#Documentation)
|
|
|
|
- [Supported Images](#Supports)
|
|
|
|
- [List current running Containers](#List-current-running-Containers)
|
|
|
|
|
|
|
|
- [Close all running Containers](#Close-all-running-Containers)
|
|
|
|
|
|
|
|
- [Delete all existing Containers](#Delete-all-existing-Containers)
|
|
|
|
|
|
|
|
- [Use Redis in Laravel](#Use-Redis-in-Laravel)
|
|
|
|
|
|
|
|
- [Use custom Domain](Use-custom-Domain)
|
|
|
|
|
|
|
|
- [Change the PHP Version](#Change-the-PHP-Version)
|
|
|
|
|
|
|
|
- [Add/Remove a Docker Container](#AddRemove-a-Docker-Container)
|
|
|
|
|
|
|
|
- [Add Docker Images](#Add-Docker-Images)
|
|
|
|
|
|
|
|
- [Edit a Docker Container](#Edit-a-Docker-Container)
|
|
|
|
|
|
|
|
- [View the Log files](#View-the-Log-files)
|
|
|
|
|
|
|
|
- [Upgrade the Docker Images](#Upgrade-the-Docker-Images)
|
|
|
|
|
|
|
|
- [Edit a Docker Image](#Edit-a-Docker-Image)
|
|
|
|
|
|
|
|
- [Run a Docker Virtual Host](#Run-Docker-Virtual-Host)
|
|
|
|
|
|
|
|
- [Find your Docker IP Address](#Find-Docker-IP-Address)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a name="Intro"></a>
|
|
|
|
<a name="Intro"></a>
|
|
|
|
### What is LaraDock?
|
|
|
|
## Intro
|
|
|
|
|
|
|
|
|
|
|
|
**LaraDock** helps you run your **Laravel** App on **Docker** in seconds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LaraDock strives to make the development experience easier.
|
|
|
|
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.
|
|
|
|
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?
|
|
|
|
### 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.
|
|
|
|
[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.
|
|
|
@ -40,10 +62,20 @@ Seriously!!!
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Questions?
|
|
|
|
<a name="Supported-Software"></a>
|
|
|
|
[](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
|
|
## Supported Software (Docker Images)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- PHP 5.6 / NGINX
|
|
|
|
|
|
|
|
- PHP 5.5 / NGINX
|
|
|
|
|
|
|
|
- MySQL
|
|
|
|
|
|
|
|
- Redis
|
|
|
|
|
|
|
|
- Data Volume (for MySQL & Redis)
|
|
|
|
|
|
|
|
- Beanstalked
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The Images links on [Github](https://github.com/LaraDock)
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
The Images links on [Docker Hub](https://hub.docker.com/u/laradock/)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a name="Requirements"></a>
|
|
|
|
<a name="Requirements"></a>
|
|
|
@ -53,99 +85,93 @@ Instead of providing a full Virtual Machines, like you get with Vagrant, Docker
|
|
|
|
- Git ([Download](https://git-scm.com/downloads))
|
|
|
|
- Git ([Download](https://git-scm.com/downloads))
|
|
|
|
- Composer ([Download](https://getcomposer.org/download/))
|
|
|
|
- Composer ([Download](https://getcomposer.org/download/))
|
|
|
|
|
|
|
|
|
|
|
|
*Note: Git & Composer can be installed on Docker Containers if you don't want to install them on your machine. (But you have to do this yourself for now).*
|
|
|
|
<a name="Installation"></a>
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
What is better than watching a video tutorial!!
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
If you prefer watch this [screencast](https://www.youtube.com/watch?v=jGkyO6Is_aI), for how to install and use this tool.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 - Clone the `LaraDock` repository, in any of your `Laravel` projects:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
git clone https://github.com/LaraDock/laradock.git docker
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instead of `git clone` you can use `git submodule add` in case you are already using Git for your Laravel project *(Recommended)*:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a name="Usage"></a>
|
|
|
|
<a name="Usage"></a>
|
|
|
|
## Usage
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
|
|
|
|
1 - First install any version of Laravel, or use any of your existing Laravel projects.
|
|
|
|
>**(Windows & MAC users)** Make sure you have a running Docker Virtual Host on your machine first.
|
|
|
|
|
|
|
|
><br>
|
|
|
|
|
|
|
|
>[How to run a Docker Virtual Host?](#Run-Docker-Virtual-Host)
|
|
|
|
|
|
|
|
|
|
|
|
2 - Open your terminal and go to your Laravel project directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 - Create a new folder on the root directory of your Laravel project and name it `docker` then go into it.
|
|
|
|
<br>
|
|
|
|
|
|
|
|
1 - Open your Laravel's `.env` file and set the `DB_HOST` to your `{Docker-IP}`:
|
|
|
|
```bash
|
|
|
|
|
|
|
|
mkdir docker && cd $_
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 - Clone the LaraDock repository inside that `docker` folder.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
git clone https://github.com/LaraDock/laradock.git .
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 - Find your Docker IP address.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- If you are on Linux OS: your IP Address is `127.0.0.1` because the containers run directly on your localhost.
|
|
|
|
|
|
|
|
- If you are on MAC or Windows OS and using the **docker-machine**: start your docker machine then type `docker-machine ip {vm-name-here}`. *(The default IP is 192.168.99.100)*
|
|
|
|
|
|
|
|
- If you are on MAC or Windows OS and using **boot2docker**: type `boot2docker ip` when boot2docker is up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 - Open your hosts file `/etc/hosts`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
sudo nano /etc/hosts
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 - Map your `Docker IP` to the `laravel.dev` domain, by adding the following to the `hosts` file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
xxx.xxx.xxx.xxx laravel.dev
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Don't forget to replace the `xxx.xxx.xxx.xxx` with your Docker IP Address.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 - Open `docker-compose.yml` file and replace the `xxx.xxx.xxx.xxx` with your Docker IP Adress as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 - Open your Laravel's `.env` file and set the `DB_HOST` and the `REDIS_HOST` to `laravel.dev` instead of the default `127.0.0.1`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
```env
|
|
|
|
DB_HOST=laravel.dev
|
|
|
|
DB_HOST=xxx.xxx.xxx.xxx
|
|
|
|
REDIS_HOST=laravel.dev
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
[How to find my Docker IP Address?](#Find-Docker-IP-Address)
|
|
|
|
|
|
|
|
|
|
|
|
If you want to use Redis for Caching and/or for Sessions Management, set `CACHE_DRIVER` and `SESSION_DRIVER` to `redis` instead of the default `file`.
|
|
|
|
<br>
|
|
|
|
|
|
|
|
2 - Run the containers:
|
|
|
|
```env
|
|
|
|
<br>
|
|
|
|
CACHE_DRIVER=redis
|
|
|
|
*(Make sure you are in the `docker` folder before running this command)*
|
|
|
|
SESSION_DRIVER=redis
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 - Finally run the containers. Make sure you are in the `docker` folder before running this command.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
```bash
|
|
|
|
docker-compose up -d
|
|
|
|
docker-compose up -d
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
*"Note: Only the first time you run this command, it will take up to 7 minutes (depend on your connection speed) to download the images to your local machine.*
|
|
|
|
>*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.*
|
|
|
|
|
|
|
|
|
|
|
|
10 - Open your browser and visit `http://laravel.dev`
|
|
|
|
<br>
|
|
|
|
|
|
|
|
3 - Open your browser and visit your `{Docker-IP}` address (`http://xxx.xxx.xxx.xxx`).
|
|
|
|
|
|
|
|
|
|
|
|
> Debugging: in case you faced an error here, it might be that you forget to provide some permissions for Laravel, so try running the following command on the Laravel rood 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:
|
|
|
|
|
|
|
|
> <br>
|
|
|
|
|
|
|
|
> `sudo chmod -R 777 storage && sudo chmod -R 777 bootstrap/cache`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Follow @Mahmoud_Zalt](https://twitter.com/Mahmoud_Zalt)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
<a name="Documentation"></a>
|
|
|
|
<a name="Documentation"></a>
|
|
|
|
## Documentation
|
|
|
|
## Documentation
|
|
|
|
|
|
|
|
|
|
|
|
#### See current running Containers
|
|
|
|
<a name="List-current-running-Containers"></a>
|
|
|
|
|
|
|
|
#### List current running Containers
|
|
|
|
```bash
|
|
|
|
```bash
|
|
|
|
docker ps
|
|
|
|
docker ps
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Close-all-running-Containers"></a>
|
|
|
|
#### Close all running Containers
|
|
|
|
#### Close all running Containers
|
|
|
|
```bash
|
|
|
|
```bash
|
|
|
|
docker-compose stop
|
|
|
|
docker-compose stop
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Delete-all-existing-Containers"></a>
|
|
|
|
#### Delete all existing Containers
|
|
|
|
#### Delete all existing Containers
|
|
|
|
```bash
|
|
|
|
```bash
|
|
|
|
docker-compose rm -f
|
|
|
|
docker-compose rm -f
|
|
|
@ -157,17 +183,118 @@ docker-compose rm -f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Use-Redis-in-Laravel"></a>
|
|
|
|
|
|
|
|
#### Use Redis in Laravel
|
|
|
|
|
|
|
|
|
|
|
|
#### Remove Container
|
|
|
|
Open your Laravel's `.env` file and set the `REDIS_HOST` to your `Docker-IP` instead of the default `127.0.0.1`.
|
|
|
|
To prevent a container (software) from running, open the `docker-compose.yml` file, and comment out the container section or remove it entirely.
|
|
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
|
|
|
|
REDIS_HOST=xxx.xxx.xxx.xxx
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database config file `config/database.php` and replace the `127.0.0.1` with your `Docker-IP` for Redis like this:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
|
|
|
'redis' => [
|
|
|
|
|
|
|
|
'cluster' => false,
|
|
|
|
|
|
|
|
'default' => [
|
|
|
|
|
|
|
|
'host' => 'xxx.xxx.xxx.xxx',
|
|
|
|
|
|
|
|
'port' => 6379,
|
|
|
|
|
|
|
|
'database' => 0,
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
|
|
composer require predis/predis:^1.0
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Add an Image (add a software to run with other Containers)
|
|
|
|
<br>
|
|
|
|
To add an image (software), just edit the `laradock/docker/docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/yml/).
|
|
|
|
<a name="Use-custom-Domain"></a>
|
|
|
|
|
|
|
|
#### Use custom Domain (instead of the Docker IP)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assuming your custom domain is `laravel.dev` and your current `Docker-IP` is `xxx.xxx.xxx.xxx`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 - Open your `/etc/hosts` file and map your `Docker IP` to the `laravel.dev` domain, by adding the following:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
xxx.xxx.xxx.xxx laravel.dev
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 - Open your Laravel's `.env` file and replace the `127.0.0.1` default values with your `{Docker-IP}`.
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
|
|
|
|
DB_HOST=xxx.xxx.xxx.xxx
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 - Open the nginx config file `docker/settings/nginx/default` and add this in the `server`:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
server_name laravel.dev;
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 - Open your browser and visit `{http://laravel.dev}`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Edit a Container (change Ports or Volumes)
|
|
|
|
>In case you faced any problem, try this additional step:
|
|
|
|
To modify a container you can simply open the `laradock/docker/docker-compose.yml` and change everything you want.
|
|
|
|
>
|
|
|
|
|
|
|
|
>Open the `docker-compose.yml` and add the following to `php-nginx:`
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
>```yaml
|
|
|
|
|
|
|
|
> extra_hosts:
|
|
|
|
|
|
|
|
> - "laravel.dev:xxx.xxx.xxx.xxx"
|
|
|
|
|
|
|
|
>```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Change-the-PHP-Version"></a>
|
|
|
|
|
|
|
|
#### Change the PHP Version
|
|
|
|
|
|
|
|
By default **PHP 5.6** is running.
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
To change the default PHP version, simply open your `docker-compose.yml` file and edit this line:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
|
|
image: laradock/php56nginx:latest
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
Supported versions:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- (PHP 5.5.*) laradock/php55nginx:latest
|
|
|
|
|
|
|
|
- (PHP 5.6.*) laradock/php56nginx:latest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Note:** If you use this `laradock/phpnginx` image, it will pull from `laradock/php56nginx`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Add-Docker-Images"></a>
|
|
|
|
|
|
|
|
#### Add Docker Images
|
|
|
|
|
|
|
|
*(add a software to run with other Containers)*
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
To add an image (software), just edit the `docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/yml/).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Edit-a-Docker-Container"></a>
|
|
|
|
|
|
|
|
#### Edit a Docker Container (change Ports or Volumes)
|
|
|
|
|
|
|
|
To modify a container you can simply open the `docker-compose.yml` and change everything you want.
|
|
|
|
|
|
|
|
|
|
|
|
Example: if you want to set the MySQL port to 3333, just replace the default port with yours:
|
|
|
|
Example: if you want to set the MySQL port to 3333, just replace the default port with yours:
|
|
|
|
|
|
|
|
|
|
|
@ -176,41 +303,103 @@ Example: if you want to set the MySQL port to 3333, just replace the default por
|
|
|
|
- "3333:3306"
|
|
|
|
- "3333:3306"
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### Edit an existing Image (change some configuration in the image)
|
|
|
|
|
|
|
|
To edit an image, and take full control of it:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. clone the LaraDock `docker-images` repository [https://github.com/LaraDock/docker-images](https://github.com/LaraDock/images)
|
|
|
|
|
|
|
|
2. modify whichever `Dockfile` you want
|
|
|
|
|
|
|
|
3. from the modified image directory run `docker build -t {your-image-name} .`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All the images are open source and hosted on the [Docker Hub](https://hub.docker.com/u/laradock/).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*If you find any bug or you have and suggestion that can improve the performance of any image, please consider contributing. Thanks in advance.*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="View-the-Log-files"></a>
|
|
|
|
#### View the Log files
|
|
|
|
#### View the Log files
|
|
|
|
The Log files are stored in the `docker/logs` directory.
|
|
|
|
The Log files are stored in the `docker/logs` directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a name="Supports"></a>
|
|
|
|
|
|
|
|
## Highlights
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__Currently Supported Docker Images:__
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Upgrade-the-Docker-Images"></a>
|
|
|
|
|
|
|
|
#### Upgrade the Docker Images
|
|
|
|
|
|
|
|
|
|
|
|
- [NGINX+PHP](https://hub.docker.com/r/laradock/phpnginx/)
|
|
|
|
By default `docker-compose.yml` is configured to use the latest stable version of the image (latest stable realease `tag`).
|
|
|
|
- [MySQL](https://hub.docker.com/r/laradock/mysql/)
|
|
|
|
|
|
|
|
- [Redis](https://hub.docker.com/r/laradock/redis/)
|
|
|
|
|
|
|
|
- [Beanstalked](https://hub.docker.com/r/laradock/beanstalkd/)
|
|
|
|
To use the latest build you can edit the `docker-compose.yml` file and replace the version number at the end of every image name with `:latest`
|
|
|
|
- [Data Volume](https://hub.docker.com/r/laradock/data/) (for MySQL & Redis)
|
|
|
|
<br>
|
|
|
|
|
|
|
|
Example: change `image: laradock/mysql:0.1.0` to `image: laradock/mysql:latest`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="AddRemove-a-Docker-Container"></a>
|
|
|
|
|
|
|
|
#### Add/Remove a Docker Container
|
|
|
|
|
|
|
|
To prevent a container (software) from running, open the `docker-compose.yml` file, and comment out the container section or remove it entirely.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Edit-a-Docker-Image"></a>
|
|
|
|
|
|
|
|
#### Edit a Docker Image (change some configuration in the image)
|
|
|
|
|
|
|
|
To edit an image, and take full control of it:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Clone any Image from [https://github.com/LaraDock](https://github.com/LaraDock)
|
|
|
|
|
|
|
|
2. Modify the `Dockfile`
|
|
|
|
|
|
|
|
3. Run `docker build -t {your-image-name} .`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All the images are open source and hosted on the [Docker Hub](https://hub.docker.com/u/laradock/).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*If you find any bug or you have and suggestion that can improve the performance of any image, please consider contributing. Thanks in advance.*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Run-Docker-Virtual-Host"></a>
|
|
|
|
|
|
|
|
#### Run a Docker Virtual Host
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These steps are only for **Windows & MAC** users *(Linux users don't need a virtual host)*:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 - Run the default Host:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
docker-machine start default
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* If the host "default" does not exist, create one using the command below, else skip it:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* ```bash
|
|
|
|
|
|
|
|
docker-machine create -d virtualbox default
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 - Run this command to configure your shell:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
eval $(docker-machine env)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<a name="Find-Docker-IP-Address"></a>
|
|
|
|
|
|
|
|
#### Find your Docker IP Address
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**On Windows & MAC:**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
docker-machine ip default
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
*(The default IP is 192.168.99.100)*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**On Linux:**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Your IP Address is `127.0.0.1`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> **boot2docker** users: run `boot2docker ip` *(when boot2docker is up)*.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
## Contributing
|
|
|
|
## Contributing
|
|
|
|
|
|
|
|
|
|
|
|
This little project was built by one man who has a full time job and many responsibilities, so if you like this project and you find that it needs a bug fix or support for new software or upgrade for the current containers, or anything else.. Do not hesitate to contribute, you are more than welcome :)
|
|
|
|
This little project was built by one man who has a full time job and many responsibilities, so if you like this project and you find that it needs a bug fix or support for new software or upgrade for the current containers, or anything else.. Do not hesitate to contribute, you are more than welcome :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All Docker Images can be found at [https://github.com/LaraDock](https://github.com/LaraDock)
|
|
|
|
|
|
|
|
|
|
|
|
## Support
|
|
|
|
## Support
|
|
|
|
|
|
|
|
|
|
|
@ -218,6 +407,11 @@ This little project was built by one man who has a full time job and many respon
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Questions?
|
|
|
|
|
|
|
|
[](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Credits
|
|
|
|
## Credits
|
|
|
|
|
|
|
|
|
|
|
|
[](http://www.zalt.me)
|
|
|
|
[](http://www.zalt.me)
|
|
|
@ -227,3 +421,4 @@ This little project was built by one man who has a full time job and many respon
|
|
|
|
## License
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
|
|
[MIT License (MIT)](https://github.com/laradock/laradock/blob/master/LICENSE)
|
|
|
|
[MIT License (MIT)](https://github.com/laradock/laradock/blob/master/LICENSE)
|
|
|
|
|
|
|
|
[]([]())
|