Compare commits

...

28 Commits

Author SHA1 Message Date
b569765f82 Add .env file for converting Windows paths to resolve issues with Docker Compose in Docker Toolbox (#531) 2017-01-07 11:35:59 -05:00
1c9596dd80 Merge pull request #523 from yaoshanliang/patch-1
Update README-zh.md
2017-01-03 09:43:25 +08:00
c59dea3745 add beanstalkd section and update the readme.md 2017-01-02 20:41:00 -05:00
iat
460b24f7ee Update README-zh.md 2017-01-03 09:27:45 +08:00
2fc3919598 Added service container for Selenium standalone with Chrome (#519)
* Added service container for Selenium standalone with Chrome
2017-01-01 10:22:01 -05:00
978dd425b9 Merge pull request #515 from cosmospham/master
fix syntax in xdebugPhpFpm
2016-12-27 14:36:01 +08:00
1b8726458f fix syntax in xdebugPhpFpm 2016-12-27 13:32:59 +07:00
3557f508d0 Merge pull request #513 from cristiancmello/add-rethinkdb
Add rethinkdb
2016-12-26 22:44:21 +08:00
1ce802f2cc Update docker-compose.yml 2016-12-26 12:38:50 -02:00
f0eda43906 Update README.md 2016-12-26 02:12:11 -02:00
343a950adc add rethink-db container 2016-12-26 01:59:58 -02:00
0218ef6b9f remove tabs. 2016-12-26 10:30:14 +08:00
33e8e91e49 Add Laravel Envoy (#510)
Add laravel envoy
2016-12-25 12:38:25 -05:00
e78b3ff799 Merge pull request #507 from WDZThorn/patch-1
Update Dockerfile
2016-12-24 07:00:02 -06:00
13bdfa119d Update Dockerfile
Replace tab with 4 spaces.
2016-12-23 13:35:45 +08:00
0eea7a639a Merge pull request #506 from Jono20201/patch/artisan-alias
Add `art` alias for `php artisan` - like homestead
2016-12-22 16:14:57 -05:00
f2db21f339 Add art alias for php artisan -- like homestead 2016-12-22 15:28:23 +00:00
b10108a9b5 disable installing the bcmath by default
disable installing the PHP bcmath extension by default on the php-fpm container
2016-12-21 14:20:40 -05:00
dd3e88fba9 Merge pull request #502 from laradock/support-bcmath-php-ext
Support bcmath php extension on php-fpm and workspace (base image 1.3)
2016-12-21 14:10:14 -05:00
860af556e2 Support bcmath php extention on php-fpm and workspace (base image 1.3)
Probably closes #453
2016-12-21 14:01:51 -05:00
586a21086f Merge pull request #501 from whoan/patch-1
Typo
2016-12-21 23:30:02 +08:00
d76f9e7722 Typo
elasticsearch-pkugins ->  elasticsearch-plugins
2016-12-21 10:16:32 -03:00
79ce978527 Merge pull request #500 from shukebeta/master
fix a important document typo
2016-12-21 09:20:20 +08:00
944639b248 fix a important typo
docker-compose build php => docker-compose build php-fpm
2016-12-21 08:09:41 +08:00
2728a99986 Merge pull request #496 from cosmospham/master
Fix PHP 5.6 Dockerfile syntax error
2016-12-20 02:29:59 -05:00
5bb515751a Fix PHP 5.6 Dockerfile syntax error
Syntax error: ";" unexpected
2016-12-20 13:20:53 +07:00
ea148943ed Merge pull request #495 from philtrep/related-projects
Added related projects to docs
2016-12-19 10:57:25 -05:00
97f882e4c7 Added related projects to docs 2016-12-19 10:55:44 -05:00
11 changed files with 489 additions and 107 deletions

1
.env Normal file
View File

@ -0,0 +1 @@
COMPOSE_CONVERT_WINDOWS_PATHS=1

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
.idea
/logs
/data
.env

View File

@ -469,7 +469,7 @@ composer create-project laravel/laravel my-cool-app "5.2.*"
系统默认LaraDock假定Laravel应用在LaraDock的父级目录中
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
```yaml
application:

501
README.md
View File

@ -6,9 +6,26 @@
Laradock is a Docker PHP development environment. It facilitate running **PHP** Apps on **Docker**.
>Use Docker first and learn about it later.
<a name="Intro"></a>
## Intro
Laradock strives to make the PHP development experience easier and faster.
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 machines.
Laradock is configured to run Laravel Apps by default, and it can be modified to run all kinds of PHP Apps (Symfony, CodeIgniter, Wordpress, Drupal...).
>Use Docker first and learn about it later.
## Contents
@ -50,9 +67,12 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to
- [Run Artisan Commands](#Run-Artisan-Commands)
- [Use Redis](#Use-Redis)
- [Use Mongo](#Use-Mongo)
- [Use phpMyAdmin](#Use-phpMyAdmin)
- [Use pgAdmin](#Use-pgAdmin)
- [Use PhpMyAdmin](#Use-phpMyAdmin)
- [Use PgAdmin](#Use-pgAdmin)
- [Use Beanstalkd](#Use-Beanstalkd)
- [Use ElasticSearch](#Use-ElasticSearch)
- [Use Selenium](#Use-Selenium)
- [Use RethinkDB](#Use-RethinkDB)
- [CodeIgniter](#CodeIgniter):
- [Install CodeIgniter](#Install-CodeIgniter)
- [Misc](#Misc)
@ -69,30 +89,45 @@ Laradock is configured to run Laravel Apps by default, and it can be modified to
- [Install Node + YARN](#Install-Yarn)
- [Debugging](#debugging)
- [Upgrading LaraDock](#upgrading-laradock)
- [Related Projects](#related-projects)
- [Help & Questions](#Help)
<a name="Intro"></a>
## Intro
Laradock strives to make the PHP development experience easier and faster.
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 machines.
**Usage Overview:**
Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Redis`. Then run `Laravel`.
### Quick Overview:
Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `Beanstalkd`:
1 - Clone Laradock inside your PHP project:
```shell
git clone https://github.com/Laradock/laradock.git
```
2 - Enter the laradock folder and run this command:
```shell
docker-compose up -d nginx mysql redis beanstalkd
```
3 - Open your `.env` file and set the following:
```shell
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
```
4 - Open your browser and visi localhost: `http://localhost`.
```shell
That's it! enjoy :)
```
1. Get LaraDock inside your Laravel project:
<br>
`git clone https://github.com/LaraDock/laradock.git`.
2. Enter the laradock folder and run only these Containers:
<br>
`docker-compose up -d nginx mysql redis`
3. Open your `.env` file and set `DB_HOST` to `mysql` and `REDIS_HOST` to `redis`.
4. Open your browser and visit the localhost: `http://localdock`
@ -114,6 +149,10 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red
- More to come every week..
<a name="Supported-Containers"></a>
### Supported Software (Containers)
@ -123,6 +162,7 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red
- MariaDB
- MongoDB
- Neo4j
- RethinkDB
- **Cache Engines:**
- Redis
- Memcached
@ -135,14 +175,26 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red
- PHP-FPM
- HHVM
- **Message Queueing Systems:**
- Beanstalkd (+ Beanstalkd Console)
- RabbitMQ (+ RabbitMQ Console)
- Beanstalkd
- Beanstalkd Console
- RabbitMQ
- RabbitMQ Console
- **Tools:**
- Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, xDebug, Vim...)
- PhpMyAdmin
- PgAdmin
- ElasticSearch
- Selenium
- Workspace
- PHP7-CLI
- Composer
- Git
- Node
- Gulp
- SQLite
- xDebug
- Envoy
- Vim
- ... Many other supported tools are not documented. (Will be updated soon)
>If you can't find your Software, build it yourself and add it to this list. Contributions are welcomed :)
@ -150,12 +202,17 @@ Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL` and `Red
<a name="what-is-docker"></a>
### 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.
<a name="why-docker-not-vagrant"></a>
### Why Docker not Vagrant!?
@ -168,6 +225,10 @@ In addition to the speed, Docker gives tons of features that cannot be achieved
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).
<a name="laradock-vs-homestead"></a>
### Laradock VS Homestead (For Laravel Developers)
@ -185,6 +246,7 @@ Running a virtual Container is much faster than running a full virtual Machine.
<a name="Demo"></a>
## Demo Video
@ -197,6 +259,9 @@ What's better than a **Demo Video**:
<a name="Requirements"></a>
## Requirements
@ -205,6 +270,9 @@ What's better than a **Demo Video**:
<a name="Installation"></a>
## Installation
@ -300,10 +368,10 @@ Do the same for each project `project2.conf`, `project3.conf`,...
<a name="Usage"></a>
## Usage
**Read Before starting:**
If you are using **Docker Toolbox** (VM), do one of the following:
@ -332,9 +400,7 @@ docker-compose up -d nginx mysql
You can select your own combination of Containers form the list below:
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`.
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`.
<br>
@ -351,8 +417,6 @@ docker exec -it {workspace-container-id} bash
**Note:** You can add `--user=laradock` (example `docker-compose exec --user=laradock workspace bash`) to have files created as your host's user. (you can change the PUID (User id) and PGID (group id) variables from the `docker-compose.yml`).
<br>
3 - Edit your project configurations.
@ -364,30 +428,35 @@ DB_HOST=mysql
*If you want to use Laravel and you don't have it installed yet, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
<br>
4 - Open your browser and visit your localhost address (`http://localhost/`).
<br>
**Debugging**: if you are facing any problem here check the [Debugging](#debugging) section.
If you need a special support. Contact me, more details in the [Help & Questions](#Help) section.
<br>
<a name="Documentation"></a>
## Documentation
<a name="Docker"></a>
<a name="List-current-running-Containers"></a>
### List current running Containers
```bash
@ -403,6 +472,7 @@ docker-compose ps
<br>
<a name="Close-all-running-Containers"></a>
### Close all running Containers
@ -433,7 +503,6 @@ docker-compose down
<br>
<a name="Enter-Container"></a>
### Enter a Container (run commands in a running Container)
@ -459,7 +528,6 @@ docker-compose exec mysql bash
<br>
<a name="Edit-Container"></a>
### Edit default container configuration
@ -488,8 +556,6 @@ Change Redis defaut port to 1111:
<br>
<a name="Edit-a-Docker-Image"></a>
### Edit a Docker Image
@ -512,8 +578,6 @@ More info on Containers rebuilding [here](#Build-Re-build-Containers).
<br>
<a name="Build-Re-build-Containers"></a>
### Build/Re-build Containers
@ -535,6 +599,7 @@ You might use the `--no-cache` option if you want full rebuilding (`docker-compo
<br>
<a name="Add-Docker-Images"></a>
### Add more Software (Docker Images)
@ -546,9 +611,6 @@ To add an image (software), just edit the `docker-compose.yml` and add your cont
<br>
<a name="View-the-Log-files"></a>
### View the Log files
@ -565,8 +627,6 @@ docker logs {container-name}
<br>
<a name="PHP"></a>
@ -589,9 +649,6 @@ The PHP-CLI extensions should be installed in `workspace/Dockerfile`.
<br>
<a name="Change-the-PHP-FPM-Version"></a>
### Change the (PHP-FPM) Version
@ -599,6 +656,7 @@ By default **PHP-FPM 7.0** is running.
>The PHP-FPM is responsible of serving your application code, you don't have to change the PHP-CLI version if you are planning to run your application on different PHP-FPM version.
#### A) Switch from PHP `7.0` to PHP `5.6`
1 - Open the `docker-compose.yml`.
@ -618,7 +676,7 @@ By default **PHP-FPM 7.0** is running.
4 - Finally rebuild the container
```bash
docker-compose build php
docker-compose build php-fpm
```
> For more details about the PHP base image, visit the [official PHP docker images](https://hub.docker.com/_/php/).
@ -645,12 +703,6 @@ We do not natively support PHP 5.5 anymore, but you can get it in few steps:
<br>
<a name="Change-the-PHP-CLI-Version"></a>
### Change the PHP-CLI Version
@ -665,6 +717,8 @@ Right now you have to manually edit the `Dockerfile` or create a new one like it
<br>
<a name="Install-xDebug"></a>
### Install xDebug
@ -711,6 +765,10 @@ xdebug.remote_connect_back=1
For information on how to configure xDebug with your IDE and work it out, check this [Repository](https://github.com/LarryEitel/laravel-laradock-phpstorm).
<br>
<a name="Control-xDebug"></a>
### Start/Stop xDebug:
@ -727,12 +785,15 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the
<br>
<a name="Production"></a>
<br>
<a name="LaraDock-for-Production"></a>
### Prepare LaraDock for Production
@ -764,19 +825,14 @@ To learn more about how Docker publishes ports, please read [this excellent post
<br>
<a name="Laravel"></a>
<a name="Install-Laravel"></a>
### Install Laravel from a Docker Container
@ -818,6 +874,9 @@ cd my-cool-app
<br>
<a name="Run-Artisan-Commands"></a>
### Run Artisan Commands
@ -857,6 +916,11 @@ Composer update
phpunit
```
<br>
<a name="Use-Redis"></a>
### Use Redis
@ -909,6 +973,7 @@ composer require predis/predis:^1.0
<br>
<a name="Use-Mongo"></a>
### Use Mongo
@ -1002,7 +1067,7 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins
<br>
<a name="Use-phpMyAdmin"></a>
### Use phpMyAdmin
### Use PhpMyAdmin
1 - Run the phpMyAdmin Container (`phpmyadmin`) with the `docker-compose up` command. Example:
@ -1017,9 +1082,13 @@ docker-compose up -d mariadb phpmyadmin
2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080`
<br>
<a name="Use-pgAdmin"></a>
### Use pgAdmin
### Use PgAdmin
1 - Run the pgAdmin Container (`pgadmin`) with the `docker-compose up` command. Example:
@ -1030,11 +1099,57 @@ docker-compose up -d postgres pgadmin
2 - Open your browser and visit the localhost on port **5050**: `http://localhost:5050`
<br>
<a name="Use-Beanstalkd"></a>
### Use Beanstalkd
1 - Run the Beanstalkd Container:
```bash
docker-compose up -d beanstalkd
```
2 - Configure Laravel to connect to that container by editing the `config/queue.php` config file.
a. first set `beanstalkd` as default queue driver
b. set the queue host to beanstalkd : `QUEUE_HOST=beanstalkd`
*beanstalkd is now available on default port `11300`.*
3 - Require the dependecy package [pda/pheanstalk](https://github.com/pda/pheanstalk) using composer.
Optionally you can use the Beanstalkd Console Container to manage your Queues from a web interface.
1 - Run the Beanstalkd Console Container:
```bash
docker-compose up -d beanstalkd-console
```
2 - Open your browser and visit `http://localhost:2080/`
3 - Add the server
- Host: beanstalkd
- Port: 11300
4 - Done.
<br>
<a name="Use-ElasticSearch"></a>
### Use ElasticSearch
1 - Run the ElasticSearch Container (`elasticsearch`) with the `docker-compose up` command. Example:
1 - Run the ElasticSearch Container (`elasticsearch`) with the `docker-compose up` command:
```bash
docker-compose up -d elasticsearch
@ -1042,7 +1157,8 @@ docker-compose up -d elasticsearch
2 - Open your browser and visit the localhost on port **9200**: `http://localhost:9200`
### Install ElasticSearch Plugin
#### Install ElasticSearch Plugin
1 - Install the ElasticSearch plugin like [delete-by-query](https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugins-delete-by-query.html).
@ -1061,15 +1177,77 @@ docker restart {container-name}
<br>
<a name="Use-Selenium"></a>
### Use Selenium
1 - Run the Selenium Container (`selenium`) with the `docker-compose up` command. Example:
```bash
docker-compose up -d selenium
```
2 - Open your browser and visit the localhost on port **4444** at the following URL: `http://localhost:4444/wd/hub`
<br>
<a name="Use-RethinkDB"></a>
### Use RethinkDB
The RethinkDB is an open-source Database for Real-time Web ([RethinkDB](https://rethinkdb.com/)).
A package ([Laravel RethinkDB](https://github.com/duxet/laravel-rethinkdb)) is being developed and was released a version for Laravel 5.2 (experimental).
1 - Run the RethinkDB Container (`rethinkdb`) with the `docker-compose up` command.
```bash
docker-compose up -d rethinkdb
```
2 - Access the RethinkDB Administration Console [http://localhost:8090/#tables](http://localhost:8090/#tables) for create a database called `database`.
3 - Add the RethinkDB configurations to the `config/database.php` configuration file:
```php
'connections' => [
'rethinkdb' => [
'name' => 'rethinkdb',
'driver' => 'rethinkdb',
'host' => env('DB_HOST', 'rethinkdb'),
'port' => env('DB_PORT', 28015),
'database' => env('DB_DATABASE', 'test'),
]
// ...
],
```
4 - Open your Laravel's `.env` file and update the following variables:
- set the `DB_CONNECTION` to your `rethinkdb`.
- set the `DB_HOST` to `rethinkdb`.
- set the `DB_PORT` to `28015`.
- set the `DB_DATABASE` to `database`.
<br>
<a name="CodeIgniter"></a>
<br>
<a name="Install-CodeIgniter"></a>
### Install CodeIgniter
@ -1093,8 +1271,8 @@ To install CodeIgniter 3 on Laradock all you have to do is the following simple
<br>
<br>
<a name="Change-the-timezone"></a>
### Change the timezone
@ -1113,6 +1291,12 @@ For example, if I want the timezone to be `New York`:
We also recommend [setting the timezone in Laravel](http://www.camroncade.com/managing-timezones-with-laravel/).
<br>
<a name="CronJobs"></a>
### Adding cron jobs
@ -1127,6 +1311,12 @@ You can add your cron jobs to `workspace/crontab/root` after the `php artisan` l
Make sure you [change the timezone](#Change-the-timezone) if you don't want to use the default (UTC).
<br>
<a name="Workspace-ssh"></a>
### Access workspace via ssh
@ -1141,6 +1331,12 @@ To change the default forwarded port for ssh:
...
```
<br>
<a name="MySQL-access-from-host"></a>
### MySQL access from host
@ -1151,6 +1347,12 @@ ports:
- "3306:3306"
```
<br>
<a name="MySQL-root-access"></a>
### MySQL root access
@ -1165,6 +1367,11 @@ The default username and password for the root mysql user are `root` and `root `
4 - Run any commands `show databases`, `show tables`, `select * from.....`.
<br>
<a name="Change-MySQL-port"></a>
### Change MySQL port
@ -1177,6 +1384,12 @@ port=1234
If you need <a href="#MySQL-access-from-host">MySQL access from your host</a>, do not forget to change the internal port number (`"3306:3306"` -> `"3306:1234"`) in the docker-compose configuration file.
<br>
<a name="Use-custom-Domain"></a>
### Use custom Domain (instead of the Docker IP)
@ -1199,6 +1412,9 @@ server_name laravel.dev;
<br>
<a name="Enable-Global-Composer-Build-Install"></a>
### Enable Global Composer Build Install
@ -1226,6 +1442,8 @@ It should be like this:
<br>
<a name="Install-Prestissimo"></a>
### Install Prestissimo
@ -1247,6 +1465,8 @@ c - Re-build the Workspace Container `docker-compose build workspace`
<br>
<a name="Install-Node"></a>
### Install Node + NVM
@ -1270,6 +1490,11 @@ It should be like this:
3 - Re-build the container `docker-compose build workspace`
<br>
<a name="Install-Yarn"></a>
### Install Node + YARN
@ -1294,6 +1519,11 @@ It should be like this:
3 - Re-build the container `docker-compose build workspace`
<br>
<a name="Install-Aerospike-Extension"></a>
### Install Aerospike extension
@ -1329,9 +1559,50 @@ It should be like this:
2 - Re-build the containers `docker-compose build workspace php-fpm`
<br>
<a name="Install-Laravel-Envoy"></a>
### Install Laravel Envoy (Envoy Task Runner)
1 - Open the `docker-compose.yml` file
<br>
2 - Search for the `INSTALL_LARAVEL_ENVOY` argument under the Workspace Container
<br>
3 - Set it to `true`
<br>
It should be like this:
```yml
workspace:
build:
context: ./workspace
args:
- INSTALL_LARAVEL_ENVOY=true
...
```
4 - Re-build the containers `docker-compose build workspace`
####[Laravel Envoy Documentation Here](https://laravel.com/docs/5.3/envoy)
<br>
<a name="debugging"></a>
### PHPStorm
Remote debug Laravel web and phpunit tests.
@ -1341,13 +1612,20 @@ Remote debug Laravel web and phpunit tests.
<br>
<a name="Misc"></a>
### Miscellaneous
*Here's a list of the common problems you might face, and the possible solutions.*
#### I see a blank (white) page instead of the Laravel 'Welcome' page!
Run the following command from the Laravel root directory:
@ -1357,18 +1635,28 @@ sudo chmod -R 777 storage bootstrap/cache
```
#### I see "Welcome to nginx" instead of the Laravel App!
Use `http://127.0.0.1` instead of `http://localhost` in your browser.
#### I see an error message containing `address already in use` or `port is already allocated`
Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed.
#### I get Nginx error 404 Not Found on Windows.
1. Go to docker Settings on your Windows machine.
@ -1376,6 +1664,11 @@ Make sure the ports for the services that you are trying to run (22, 80, 443, 33
3. Enter your windows username and password.
4. Go to the `reset` tab and click restart docker.
#### I get Mysql connection refused
This error sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it:
@ -1389,11 +1682,12 @@ This error sometimes happens because your Laravel application isn't running on t
<br>
<a name="upgrading-laradock"></a>
### Upgrading LaraDock
Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requires upgrading LaraDock from v3.* to v4.*:
1. Stop the docker vm `docker-machine stop {default}`
@ -1410,7 +1704,6 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ
<br>
## Contributing
@ -1421,6 +1714,31 @@ This little project was built by one man who has a full time job and many respon
<br>
<a name="related-projects"></a>
## Related Projects
LaraDock related projects:
* [LaraDock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee)
* [LaraDock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart)
* [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao)
* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim)
These Docker Compose projects have piqued our interest:
* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal)
* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti)
* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea)
If you want your project listed here, please open an issue.
<br>
<a name="Help"></a>
## Help & Questions
@ -1433,40 +1751,25 @@ For special help with Docker and/or Laravel, you can schedule a live call with t
## Credits
**Creator:**
- [Mahmoud Zalt](https://github.com/Mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [Linkedin](https://www.linkedin.com/in/mahmoudzalt) ]
**Admins:**
**Super Admins:**
- [Mahmoud Zalt](https://github.com/Mahmoudz) (mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [Linkedin](https://www.linkedin.com/in/mahmoudzalt) ]
- [Bo-Yi Wu](https://github.com/appleboy) (appleboy)
- [Philippe Trépanier](https://github.com/philtrep) (philtrep)
- YOU?! Join Us.
**Main Contributors:**
- [Francis Lavoie](https://github.com/francislavoie) (francislavoie)
- [luciano-jr](https://github.com/luciano-jr)
- [Zhqagp](https://github.com/zhqagp)
- [Tim B.](https://github.com/tjb328) (tjb328)
- [MidasCodeBreaker](https://github.com/midascodebreaker)
- [Larry Eitel](https://github.com/LarryEitel)
- [Suteepat](https://github.com/tianissimo) (tianissimo)
- [David](https://github.com/davidavz) (davidavz)
- [Lialosiu](https://github.com/lialosiu)
- [Eric Pfeiffer](https://github.com/computerfr33k) (computerfr33k)
- [Orette](https://github.com/orette)
- [Jack Fletcher](https://github.com/Kauhat) (Kauhat)
- [Amin Mkh](https://github.com/AminMkh)
- [Matthew Tonkin Dunn](https://github.com/mattythebatty) (mattythebatty)
- [Zhivitsa Kirill](https://github.com/zhikiri) (zhikiri)
- [Benmag](https://github.com/benmag)
**Other Contributors & Supporters:**
**Amazing Contributors:**
- [Contributors](https://github.com/LaraDock/laradock/graphs/contributors)
- [Supporters](https://github.com/LaraDock/laradock/issues?utf8=%E2%9C%93&q=)
## License

View File

@ -25,6 +25,7 @@ services:
- INSTALL_V8JS_EXTENSION=false
- COMPOSER_GLOBAL_INSTALL=false
- INSTALL_WORKSPACE_SSH=false
- INSTALL_LARAVEL_ENVOY=false
- PUID=1000
- PGID=1000
- NODE_VERSION=stable
@ -49,6 +50,7 @@ services:
- INSTALL_SOAP=false
- INSTALL_MONGO=false
- INSTALL_ZIP_ARCHIVE=false
- INSTALL_BCMATH=false
- INSTALL_MEMCACHED=false
- INSTALL_OPCACHE=false
- INSTALL_AEROSPIKE_EXTENSION=false
@ -188,6 +190,15 @@ services:
- "27017:27017"
volumes:
- mongo:/data/db
### RethinkDB Container #######################################
rethinkdb:
build: ./rethinkdb
ports:
- "8090:8080"
volumes:
- rethinkdb:/data/rethinkdb_data
### Redis Container #########################################
@ -306,13 +317,20 @@ services:
build: ./elasticsearch
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
- elasticsearch-pkugins:/usr/share/elasticsearch/data
- elasticsearch-plugins:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
links:
- php-fpm
### Selenium Container #########################################
selenium:
build: ./selenium
ports:
- "4444:4444"
### Volumes Setup ###########################################
volumes:
@ -330,6 +348,8 @@ volumes:
driver: "local"
mongo:
driver: "local"
rethinkdb:
driver: "local"
phpmyadmin:
driver: "local"
aerospike:
@ -338,7 +358,7 @@ volumes:
driver: "local"
elasticsearch-data:
driver: "local"
elasticsearch-pkugins:
elasticsearch-plugins:
driver: "local"
sessions: ## nothing is connected to this (- ./data/sessions:/sessions)
driver: "local"

View File

@ -45,7 +45,7 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the soap extension
apt-get -y update && \
apt-get -y install libxml2-dev && \
docker-php-ext-install soap && \
docker-php-ext-install soap \
;fi
#####################################
@ -84,6 +84,16 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
docker-php-ext-enable zip \
;fi
#####################################
# bcmath:
#####################################
ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \
# Install the bcmath extension
docker-php-ext-install bcmath \
;fi
#####################################
# PHP Memcached:
#####################################

View File

@ -85,6 +85,16 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
docker-php-ext-enable zip \
;fi
#####################################
# bcmath:
#####################################
ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \
# Install the bcmath extension
docker-php-ext-install bcmath \
;fi
#####################################
# PHP Memcached:
#####################################

11
rethinkdb/Dockerfile Normal file
View File

@ -0,0 +1,11 @@
FROM rethinkdb:latest
MAINTAINER Cristian Mello <cristianc.mello@gmail.com>
VOLUME /data/rethinkdb_data
RUN cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf
CMD ["rethinkdb", "--bind", "all"]
EXPOSE 8080

5
selenium/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM selenium/standalone-chrome
MAINTAINER Edmund Luong <edmundvmluong@gmail.com>
EXPOSE 4444

View File

@ -10,7 +10,7 @@
# https://hub.docker.com/r/laradock/workspace/tags/
#
FROM laradock/workspace:1.2
FROM laradock/workspace:1.3
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
@ -46,7 +46,7 @@ ARG PUID=1000
ARG PGID=1000
RUN groupadd -g $PGID laradock && \
useradd -u $PUID -g laradock -m laradock
#####################################
# Set Timezone
#####################################
@ -268,6 +268,29 @@ USER laradock
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
#####################################
# Laravel Artisan Alias
#####################################
USER root
RUN echo "" >> ~/.bashrc && \
echo 'alias art="php artisan"' >> ~/.bashrc
#####################################
# Laravel Envoy:
#####################################
USER laradock
ARG INSTALL_LARAVEL_ENVOY=true
ENV INSTALL_LARAVEL_ENVOY ${INSTALL_LARAVEL_ENVOY}
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
# Install the Laravel Envoy
echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc \
&& composer global require "laravel/envoy=~1.0" \
;fi
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -4,7 +4,7 @@
# Grab full name of php-fpm container
PHP_FPM_CONTAINER=$(docker-compose ps | grep php-fpm | cut -d" " -f 1)
PHP_FPM_CONTAINER=$(docker-compose ps | grep php-fpm | cut -d " " -f 1)
# Grab OS type