From 0b609be2fe192f81cf97140b83e4835bcaea2461 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sat, 1 Jul 2017 18:54:09 +0200 Subject: [PATCH 1/4] DVL-012 Adding PerconaDB --- .gitignore | 3 +++ .travis.yml | 25 +++++++++++++++++++++ README.md | 22 +++++++++++++----- cfg/percona-5.5/.keepme | 0 cfg/percona-5.5/devilbox-custom.cnf-example | 5 +++++ cfg/percona-5.6/.keepme | 0 cfg/percona-5.6/devilbox-custom.cnf-example | 5 +++++ cfg/percona-5.7/.keepme | 0 cfg/percona-5.7/devilbox-custom.cnf-example | 5 +++++ docs/Configure.md | 9 ++++++++ env-example | 3 +++ 11 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 cfg/percona-5.5/.keepme create mode 100644 cfg/percona-5.5/devilbox-custom.cnf-example create mode 100644 cfg/percona-5.6/.keepme create mode 100644 cfg/percona-5.6/devilbox-custom.cnf-example create mode 100644 cfg/percona-5.7/.keepme create mode 100644 cfg/percona-5.7/devilbox-custom.cnf-example diff --git a/.gitignore b/.gitignore index e3d6d37b..a1df2d1e 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,9 @@ /cfg/mariadb-10.0/*.cnf /cfg/mariadb-10.1/*.cnf /cfg/mariadb-10.2/*.cnf +/cfg/percona-5.5/*.cnf +/cfg/percona-5.6/*.cnf +/cfg/percona-5.7/*.cnf # Ignore custom PHP-FPM configs /cfg/php-fpm-5.4/*.ini diff --git a/.travis.yml b/.travis.yml index ca2a4abe..a0b8ca9d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -131,6 +131,31 @@ env: - S1=PHP V1=php-fpm-7.1 S2=MYSQL V2=mariadb-10.3 - S1=PHP V1=php-fpm-7.2 S2=MYSQL V2=mariadb-10.3 - S1=PHP V1=hhvm-latest S2=MYSQL V2=mariadb-10.3 + # PHP vs PerconaDB 5.5 + - S1=PHP V1=php-fpm-5.4 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=php-fpm-5.5 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=php-fpm-5.6 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=php-fpm-7.0 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=php-fpm-7.1 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=php-fpm-7.2 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=hhvm-latest S2=MYSQL V2=percona-5.5 + # PHP vs PerconaDB 5.6 + - S1=PHP V1=php-fpm-5.4 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=php-fpm-5.5 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=php-fpm-5.6 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=php-fpm-7.0 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=php-fpm-7.1 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=php-fpm-7.2 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=hhvm-latest S2=MYSQL V2=percona-5.6 + # PHP vs PerconaDB 5.7 + - S1=PHP V1=php-fpm-5.4 S2=MYSQL V2=percona-5.7 + - S1=PHP V1=php-fpm-5.5 S2=MYSQL V2=percona-5.7 + - S1=PHP V1=php-fpm-5.6 S2=MYSQL V2=percona-5.7 + - S1=PHP V1=php-fpm-7.0 S2=MYSQL V2=percona-5.7 + - S1=PHP V1=php-fpm-7.1 S2=MYSQL V2=percona-5.7 + - S1=PHP V1=php-fpm-7.2 S2=MYSQL V2=percona-5.7 + - S1=PHP V1=hhvm-latest S2=MYSQL V2=percona-5.7 + ### ### PHP vs PostgreSQL diff --git a/README.md b/README.md index 4a9eb712..b52a1a45 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ Every single attachable container comes with many different versions. In order t PHP MySQL MariaDB + Percona PgSQL Redis Memcached @@ -79,6 +80,7 @@ Every single attachable container comes with many different versions. In order t 5.4 5.5 5.5 + 5.5 9.1 2.8 1.4.21 @@ -90,6 +92,7 @@ Every single attachable container comes with many different versions. In order t 5.5 5.6 10.0 + 5.6 9.2 3.0 1.4.22 @@ -101,6 +104,7 @@ Every single attachable container comes with many different versions. In order t 5.6 5.7 10.1 + 5.7 9.3 3.2 1.4.23 @@ -112,6 +116,7 @@ Every single attachable container comes with many different versions. In order t 7.0 8.0 10.2 + 9.4 1.4.24 @@ -123,6 +128,7 @@ Every single attachable container comes with many different versions. In order t 7.1 10.3 + 9.5 ... @@ -134,6 +140,7 @@ Every single attachable container comes with many different versions. In order t 7.2 + 9.6 1.4.36 @@ -147,6 +154,7 @@ Every single attachable container comes with many different versions. In order t + latest @@ -317,11 +325,12 @@ The devilbox documentation consists of the following main sections. 1. [Introduction](docs/Examples.md#1-introduction) 2. [Setup CakePHP](docs/Examples.md#2-setup-cakephp) 3. [Setup Drupal](docs/Examples.md#3-setup-drupal) - 4. [Setup Phalcon](docs/Examples.md#4-setup-phalcon) - 5. [Setup Symfony](docs/Examples.md#5-setup-symfony) - 6. [Setup Wordpress](docs/Examples.md#6-setup-wordpress) - 7. [Setup Yii](docs/Examples.md#7-setup-yii) - 8. [Setup Zend](docs/Examples.md#8-setup-zend) + 4. [Setup Laravel](docs/Examples.md#4-setup-laravel) + 5. [Setup Phalcon](docs/Examples.md#5-setup-phalcon) + 6. [Setup Symfony](docs/Examples.md#6-setup-symfony) + 7. [Setup Wordpress](docs/Examples.md#7-setup-wordpress) + 8. [Setup Yii](docs/Examples.md#8-setup-yii) + 9. [Setup Zend](docs/Examples.md#9-setup-zend) 11. **[Technical](docs/Technical.md)** 1. [Networking](docs/Technical.md#1-networking) 2. [Ports and forwarding](docs/Technical.md#2-ports-and-forwarding) @@ -366,6 +375,9 @@ In order to make sure every combination works with each other, the devilbox inte | [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-10.1.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-10.1) [MariaDB 10.1](https://github.com/cytopia/docker-mariadb-10.1) | | | | [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-10.2.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-10.2) [MariaDB 10.2](https://github.com/cytopia/docker-mariadb-10.2) | | | | [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-10.3.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-10.3) [MariaDB 10.3](https://github.com/cytopia/docker-mariadb-10.3) | | | +| [![Build Status](https://travis-ci.org/cytopia/docker-percona-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-percona-5.5) [PerconaDB 5.5](https://github.com/cytopia/docker-percona-5.5) | | | +| [![Build Status](https://travis-ci.org/cytopia/docker-percona-5.6.svg?branch=master)](https://travis-ci.org/cytopia/docker-percona-5.6) [PerconaDB 5.6](https://github.com/cytopia/docker-percona-5.6) | | | +| [![Build Status](https://travis-ci.org/cytopia/docker-percona-5.7.svg?branch=master)](https://travis-ci.org/cytopia/docker-percona-5.7) [PerconaDB 5.7](https://github.com/cytopia/docker-percona-5.7) | | | #### NoSQL stack (optional) diff --git a/cfg/percona-5.5/.keepme b/cfg/percona-5.5/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/cfg/percona-5.5/devilbox-custom.cnf-example b/cfg/percona-5.5/devilbox-custom.cnf-example new file mode 100644 index 00000000..6d2549fa --- /dev/null +++ b/cfg/percona-5.5/devilbox-custom.cnf-example @@ -0,0 +1,5 @@ +[mysqld] +;key_buffer_size=16M + +[mysqldump] +;quick diff --git a/cfg/percona-5.6/.keepme b/cfg/percona-5.6/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/cfg/percona-5.6/devilbox-custom.cnf-example b/cfg/percona-5.6/devilbox-custom.cnf-example new file mode 100644 index 00000000..6d2549fa --- /dev/null +++ b/cfg/percona-5.6/devilbox-custom.cnf-example @@ -0,0 +1,5 @@ +[mysqld] +;key_buffer_size=16M + +[mysqldump] +;quick diff --git a/cfg/percona-5.7/.keepme b/cfg/percona-5.7/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/cfg/percona-5.7/devilbox-custom.cnf-example b/cfg/percona-5.7/devilbox-custom.cnf-example new file mode 100644 index 00000000..6d2549fa --- /dev/null +++ b/cfg/percona-5.7/devilbox-custom.cnf-example @@ -0,0 +1,5 @@ +[mysqld] +;key_buffer_size=16M + +[mysqldump] +;quick diff --git a/docs/Configure.md b/docs/Configure.md index ee0a3a84..1c4e123e 100644 --- a/docs/Configure.md +++ b/docs/Configure.md @@ -120,6 +120,9 @@ cfg/ mysql-5.6/ mysql-5.7/ mysql-8.0/ + percona-5.5/ + percona-5.6/ + percona-5.7/ php-fpm-5.4/ php-fpm-5.5/ php-fpm-5.6/ @@ -431,6 +434,9 @@ drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-5.5/ drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-5.6/ drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-5.7/ drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-8.0/ +drwxrwxr-x 6 48 48 4096 Jun 21 08:47 percona-5.5/ +drwxrwxr-x 6 48 48 4096 Jun 21 08:47 percona-5.6/ +drwxrwxr-x 6 48 48 4096 Jun 21 08:47 percona-5.7/ ``` ##### 4.4.6 my.cnf @@ -447,6 +453,9 @@ drwxrwxr-x 2 cytopia 4096 Jun 13 13:18 mysql-5.5/ drwxrwxr-x 2 cytopia 4096 Jun 1 08:44 mysql-5.6/ drwxrwxr-x 2 cytopia 4096 Jun 1 08:44 mysql-5.7/ drwxrwxr-x 2 cytopia 4096 Jun 1 08:44 mysql-8.0/ +drwxrwxr-x 2 cytopia 4096 Jun 1 08:44 percona-5.5/ +drwxrwxr-x 2 cytopia 4096 Jun 1 08:44 percona-5.6/ +drwxrwxr-x 2 cytopia 4096 Jun 1 08:44 percona-5.7/ ``` Each of the above folders will hold an example configuration file named `devilbox-custom.cnf-example` which shows some example settings but will **not have** any effect yet. Only files ending by **`.cnf`** will be sourced and applied, so you must copy it (or create a new file) to something that ends by `*.cnf`. diff --git a/env-example b/env-example index babab5e2..1d9a9518 100644 --- a/env-example +++ b/env-example @@ -143,6 +143,9 @@ HTTPD_SERVER=nginx-stable MYSQL_SERVER=mariadb-10.1 #MYSQL_SERVER=mariadb-10.2 #MYSQL_SERVER=mariadb-10.3 +#MYSQL_SERVER=percona-5.5 +#MYSQL_SERVER=percona-5.6 +#MYSQL_SERVER=percona-5.7 ### From 1a3b9e03cf929370d3404b945a553e563f552ca2 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sat, 1 Jul 2017 21:03:11 +0200 Subject: [PATCH 2/4] DVL-012 Fix domain mixup in Examples --- docs/Examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Examples.md b/docs/Examples.md index 2377d58f..e64ada24 100644 --- a/docs/Examples.md +++ b/docs/Examples.md @@ -186,7 +186,7 @@ It will be ready in six simple steps: 3. Install Laravel via `laravel` 4. Symlink public directory 5. Setup DNS record -6. Visit http://my-phalcon.local in your browser +6. Visit http://my-laravel.local in your browser ```shell # 1. Enter the PHP container From 0073374d91486ff1d32c9fce77b8ff9c3fe134f8 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 2 Jul 2017 10:20:54 +0200 Subject: [PATCH 3/4] DVL-012 Harden composer-download for travis tests --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a0b8ca9d..ccdea91e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -218,7 +218,7 @@ before_install: - max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get update; then break; else i=$((i+1)); fi done - max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce; then break; else i=$((i+1)); fi done # Get newer docker-compose version - - curl -L --retry 100 --retry-max-time 0 https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > docker-compose + - max=100; i=0; while [ $i -lt $max ]; do if curl -L --retry 100 --retry-max-time 0 https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > docker-compose; then break; else i=$((i+1)); fi done - chmod +x docker-compose - sudo mv -f docker-compose /usr/local/bin # List versions From e560fe57123f5a31850a4c409ce7caee22f9237a Mon Sep 17 00:00:00 2001 From: cytopia Date: Sun, 2 Jul 2017 10:52:31 +0200 Subject: [PATCH 4/4] DVL-012 Add more info about supported frameworks --- README.md | 16 +++++++++- docs/Quickstart.md | 11 +++---- docs/README.md | 17 ++++++----- docs/Technical.md | 60 ++++++++++++++++++------------------- docs/img/logos/laravel.png | Bin 0 -> 3609 bytes docs/img/logos/symfony.png | Bin 0 -> 1264 bytes docs/img/logos/zend.png | Bin 0 -> 1073 bytes 7 files changed, 61 insertions(+), 43 deletions(-) create mode 100644 docs/img/logos/laravel.png create mode 100644 docs/img/logos/symfony.png create mode 100644 docs/img/logos/zend.png diff --git a/README.md b/README.md index b52a1a45..ae6a072f 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,21 @@ Require additional tools? Have a look at [Hacking](docs/Hacking.md) for informat The devilbox is a development stack, so it is made sure that a lot of PHP modules are available out of the box in order to work with many different frameworks. -*apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, magickwand, mbstring, mcrypt, memcache, memcached, mhash, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib* +> *apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, magickwand, mbstring, mcrypt, memcache, memcached, mhash, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib* + +#### Supported Frameworks + +As far as tested there are no limitations and you can use any Framework or CMS just as you would on your live environment. Below are a few examples of extensively tested Frameworks and CMS: + +[![CakePHP](docs/img/logos/cake.png)](https://cakephp.org) +[![Drupal](docs/img/logos/drupal.png)](https://www.drupal.org) +[![Laravel](docs/img/logos/laravel.png)](https://laravel.com) +[![Phalcon](docs/img/logos/phalcon.png)](https://phalconphp.com) +[![Symfony](docs/img/logos/symfony.png)](https://symfony.com) +[![Wordpress](docs/img/logos/wordpress.png)](https://wordpress.org) +[![Yii](docs/img/logos/yii.png)](http://www.yiiframework.com) +[![Zend](docs/img/logos/zend.png)](https://framework.zend.com) + ## Documentation diff --git a/docs/Quickstart.md b/docs/Quickstart.md index e082222d..af6bf5f1 100644 --- a/docs/Quickstart.md +++ b/docs/Quickstart.md @@ -181,11 +181,12 @@ To quickly find setup instructions for your framework of choice head over to **[ > 1. [Introduction](Examples.md#1-introduction) > 2. [Setup CakePHP](Examples.md#2-setup-cakephp) > 3. [Setup Drupal](Examples.md#3-setup-drupal) -> 4. [Setup Phalcon](Examples.md#4-setup-phalcon) -> 5. [Setup Symfony](Examples.md#5-setup-symfony) -> 6. [Setup Wordpress](Examples.md#6-setup-wordpress) -> 7. [Setup Yii](Examples.md#7-setup-yii) -> 8. [Setup Zend](Examples.md#8-setup-zend) +> 4. [Setup Laravel](Examples.md#4-setup-laravel) +> 5. [Setup Phalcon](Examples.md#5-setup-phalcon) +> 6. [Setup Symfony](Examples.md#6-setup-symfony) +> 7. [Setup Wordpress](Examples.md#7-setup-wordpress) +> 8. [Setup Yii](Examples.md#8-setup-yii) +> 9. [Setup Zend](Examples.md#9-setup-zend) ## 6. Enter the PHP Docker container diff --git a/docs/README.md b/docs/README.md index 1a867ff4..88220215 100644 --- a/docs/README.md +++ b/docs/README.md @@ -159,7 +159,7 @@ Have a look at youtube to see some the features in action. The devilbox is a development stack, so it is made sure that a lot of PHP modules are available out of the box in order to work with many different frameworks. -*apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, magickwand, mbstring, mcrypt, memcache, memcached, mhash, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib* +> *apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, magickwand, mbstring, mcrypt, memcache, memcached, mhash, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib* There will however be slight differences between the versions and especially with HHVM. To see the exact bundled modules for each version visit the corresponding docker repositories on Github: @@ -176,10 +176,13 @@ There will however be slight differences between the versions and especially wit As far as tested there are no limitations and you can use any Framework or CMS just as you would on your live environment. Below are a few examples of extensively tested Frameworks and CMS: -![CakePHP](img/logos/cake.png) -![Drupal](img/logos/drupal.png) -![Phalcon](img/logos/phalcon.png) -![Wordpress](img/logos/wordpress.png) -![Yii](img/logos/yii.png) +[![CakePHP](img/logos/cake.png)](https://cakephp.org) +[![Drupal](img/logos/drupal.png)](https://www.drupal.org) +[![Laravel](img/logos/laravel.png)](https://laravel.com) +[![Phalcon](img/logos/phalcon.png)](https://phalconphp.com) +[![Symfony](img/logos/symfony.png)](https://symfony.com) +[![Wordpress](img/logos/wordpress.png)](https://wordpress.org) +[![Yii](img/logos/yii.png)](http://www.yiiframework.com) +[![Zend](img/logos/zend.png)](https://framework.zend.com) -Have a look at [Examples](Examples.md) for how to set them up. +Have a look at **[Examples](Examples.md)** for how to set them up on the devilbox. diff --git a/docs/Technical.md b/docs/Technical.md index da7ee513..6286dca1 100644 --- a/docs/Technical.md +++ b/docs/Technical.md @@ -32,16 +32,16 @@ It is best to use the hostnames and not to rely on the ip addresses as they migh > E.g.: When you want to setup a MySQL database connection use `mysql` or `127.0.0.1` as the hostname. -| Container | Container name | Hostname | IP Address | -|-----------------|-----------------|-----------|----------------| -| DNS | bind | bind | 172.16.238.100 | -| PHP / HHVM | php | php | 172.16.238.10 | -| Apache / Nginx | http | http | 172.16.238.11 | -| MySQL / MariaDB | mysql | mysql | 172.16.238.12 | -| PostgreSQL | pgsql | pgsql | 172.16.238.13 | -| Redis | redis | redis | 172.16.238.14 | -| Memcached | memcd | memcd | 172.16.238.15 | -| MongoDB | mongo | mongo | 172.16.238.16 | +| Container | Container name | Hostname | IP Address | +|-----------------------------|-----------------|-----------|----------------| +| DNS | bind | bind | 172.16.238.100 | +| PHP / HHVM | php | php | 172.16.238.10 | +| Apache / Nginx | http | http | 172.16.238.11 | +| MySQL / MariaDB / PerconaDB | mysql | mysql | 172.16.238.12 | +| PostgreSQL | pgsql | pgsql | 172.16.238.13 | +| Redis | redis | redis | 172.16.238.14 | +| Memcached | memcd | memcd | 172.16.238.15 | +| MongoDB | mongo | mongo | 172.16.238.16 | ## 2. Ports and forwarding @@ -63,16 +63,16 @@ The PHP container is using [socat](https://linux.die.net/man/1/socat) to The following container can be reached from within the PHP container via the following methods: -| Container | Hostname | IP Address | IP Address | Port | -|-----------------|-----------|----------------|------------|-------| -| DNS | bind | 172.16.238.100 | - | 53 | -| PHP / HHVM | php | 172.16.238.10 | - | 9000 | -| Apache / Nginx | http | 172.16.238.11 | - | 80 | -| MySQL / MariaDB | mysql | 172.16.238.12 | 127.0.0.1 | 3306 | -| PostgreSQL | pgsql | 172.16.238.13 | 127.0.0.1 | 5432 | -| Redis | redis | 172.16.238.14 | 127.0.0.1 | 6379 | -| Memcached | memcd | 172.16.238.15 | 127.0.0.1 | 11211 | -| MongoDB | mongo | 172.16.238.16 | 127.0.0.1 | 27017 | +| Container | Hostname | IP Address | IP Address | Port | +|-----------------------------|-----------|----------------|------------|-------| +| DNS | bind | 172.16.238.100 | - | 53 | +| PHP / HHVM | php | 172.16.238.10 | - | 9000 | +| Apache / Nginx | http | 172.16.238.11 | - | 80 | +| MySQL / MariaDB / PerconaDB | mysql | 172.16.238.12 | 127.0.0.1 | 3306 | +| PostgreSQL | pgsql | 172.16.238.13 | 127.0.0.1 | 5432 | +| Redis | redis | 172.16.238.14 | 127.0.0.1 | 6379 | +| Memcached | memcd | 172.16.238.15 | 127.0.0.1 | 11211 | +| MongoDB | mongo | 172.16.238.16 | 127.0.0.1 | 27017 | #### 2.2 Docker Host @@ -86,16 +86,16 @@ The docker host (your computer) does exactly the same as the `php` container. The following container can be reached from the Docker host via the following methods: -| Container | IP Address | Port | -|-----------------|------------|-------| -| DNS | 127.0.0.1 | 1053 | -| PHP / HHVM | - | 9000 | -| Apache / Nginx | 127.0.0.1 | 80 | -| MySQL / MariaDB | 127.0.0.1 | 3306 | -| PostgreSQL | 127.0.0.1 | 5432 | -| Redis | 127.0.0.1 | 6379 | -| Memcached | 127.0.0.1 | 11211 | -| MongoDB | 127.0.0.1 | 27017 | +| Container | IP Address | Port | +|-----------------------------|------------|-------| +| DNS | 127.0.0.1 | 1053 | +| PHP / HHVM | - | 9000 | +| Apache / Nginx | 127.0.0.1 | 80 | +| MySQL / MariaDB / PerconaDB | 127.0.0.1 | 3306 | +| PostgreSQL | 127.0.0.1 | 5432 | +| Redis | 127.0.0.1 | 6379 | +| Memcached | 127.0.0.1 | 11211 | +| MongoDB | 127.0.0.1 | 27017 | ## 3. Works the same on Host and PHP Container diff --git a/docs/img/logos/laravel.png b/docs/img/logos/laravel.png new file mode 100644 index 0000000000000000000000000000000000000000..71a4cb3be131de1421e9e5f54d57ac98f3290ec8 GIT binary patch literal 3609 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 literal 0 HcmV?d00001