mirror of
https://github.com/cytopia/devilbox.git
synced 2025-01-31 08:25:23 +00:00
REL-0.9 Updating documentation
This commit is contained in:
parent
9d185a985b
commit
24e2767f33
104
README.md
104
README.md
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
![Devilbox](doc/img/devilbox-dash.png)
|
![Devilbox](doc/img/devilbox-dash.png)
|
||||||
|
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/cytopia/devilbox.svg?branch=master)](https://travis-ci.org/cytopia/devilbox) ![Tag](https://img.shields.io/github/tag/cytopia/devilbox.svg) [![type](https://img.shields.io/badge/type-Docker-orange.svg)](https://www.docker.com/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
|
[![Build Status](https://travis-ci.org/cytopia/devilbox.svg?branch=master)](https://travis-ci.org/cytopia/devilbox) ![Tag](https://img.shields.io/github/tag/cytopia/devilbox.svg) [![type](https://img.shields.io/badge/type-Docker-orange.svg)](https://www.docker.com/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
The devilbox is a modern and highly customizable alternative for [XAMPP](https://www.apachefriends.org). It is based on `docker-compose` with presets for all kinds of versions for webservers, database servers and php.
|
The devilbox is a modern and highly customizable alternative for [XAMPP](https://www.apachefriends.org). It is based on `docker-compose` with presets for all kinds of versions for webservers, database servers and php.
|
||||||
@ -43,56 +42,94 @@ $ vim .env
|
|||||||
|
|
||||||
# Start all containers
|
# Start all containers
|
||||||
$ docker-compose up
|
$ docker-compose up
|
||||||
|
```
|
||||||
|
|
||||||
# Alternatively only start what you need
|
## Selective start
|
||||||
|
```
|
||||||
$ docker-compose up httpd php mysql redis
|
$ docker-compose up httpd php mysql redis
|
||||||
```
|
```
|
||||||
|
![Devilbox](doc/img/devilbox-dash-01.png)
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose up httpd php mysql pgsql redis memcd
|
||||||
|
```
|
||||||
|
![Devilbox](doc/img/devilbox-dash-02.png)
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose up httpd php pgsql memcd
|
||||||
|
```
|
||||||
|
![Devilbox](doc/img/devilbox-dash-03.png)
|
||||||
|
|
||||||
|
|
||||||
|
## Feature overview
|
||||||
|
|
||||||
|
The devilbox has everything setup for you. The only thing you will have to install is `docker` and `docker-compose`. Virtual hosts and DNS entries will be created automatically, just by adding new project folders.
|
||||||
|
|
||||||
|
* **Mass virtual host**
|
||||||
|
* **Custom domains** (`*.loc`, `*.local`, `*.dev`, ...)
|
||||||
|
* **Auto-DNS** (Internal Bind server running)
|
||||||
|
* **Email catch-all** (Internal postfix with catch-all)
|
||||||
|
* **Log files** (available on host computer)
|
||||||
|
* **Config overwrites** (`my.cnf`, `nginx.conf`, `httpd.conf` or `php.ini`)
|
||||||
|
* **Tools** (git, composer, node, npm, drush, drupal-console, ...)
|
||||||
|
* **Xdebug**
|
||||||
|
|
||||||
|
**Batteries included:**
|
||||||
|
|
||||||
|
* [phpMyAdmin](https://www.phpmyadmin.net)
|
||||||
|
* [Adminer](https://www.adminer.org)
|
||||||
|
* [OpcacheGUI](https://github.com/PeeHaa/OpCacheGUI)
|
||||||
|
* Mail viewer
|
||||||
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
**Video Tutorials**
|
### Video Tutorials
|
||||||
|
|
||||||
[![Devilbox setup and workflow](https://raw.githubusercontent.com/cytopia/devilbox/master/doc/img/devilbox_01-setup-and-workflow.png "devilbox - setup and workflow")](https://www.youtube.com/watch?v=reyZMyt2Zzo)
|
[![Devilbox setup and workflow](https://raw.githubusercontent.com/cytopia/devilbox/master/doc/img/devilbox_01-setup-and-workflow.png "devilbox - setup and workflow")](https://www.youtube.com/watch?v=reyZMyt2Zzo)
|
||||||
[![Devilbox email catch-all](https://raw.githubusercontent.com/cytopia/devilbox/master/doc/img/devilbox_02-email-catch-all.png "devilbox - email catch-all")](https://www.youtube.com/watch?v=e-U-C5WhxGY)
|
[![Devilbox email catch-all](https://raw.githubusercontent.com/cytopia/devilbox/master/doc/img/devilbox_02-email-catch-all.png "devilbox - email catch-all")](https://www.youtube.com/watch?v=e-U-C5WhxGY)
|
||||||
|
|
||||||
**Documentation**
|
### Documentation
|
||||||
|
|
||||||
For setup, usage and examples see detailed **[Documentation](https://github.com/cytopia/devilbox/blob/master/doc/README.md)**.
|
For setup, usage and examples see detailed **[Documentation](https://github.com/cytopia/devilbox/blob/master/doc/README.md)**.
|
||||||
|
|
||||||
## Run-time Matrix
|
## Run-time Matrix
|
||||||
|
|
||||||
Select your prefered setup.
|
Select your prefered version. (By editing the **`.env`** file)
|
||||||
|
|
||||||
No need to install and configure different versions locally. Simply choose your required LAMP/LEMP stack combination during startup and it is up and running instantly.
|
No need to install and configure different versions locally. Simply choose your required LAMP/LEMP stack versions during startup and it is up and running instantly.
|
||||||
|
|
||||||
### 1/3 Base stack (required)
|
#### 1/3 Base stack (required)
|
||||||
|
|
||||||
| Webserver | PHP |
|
| DNS | Webserver | PHP |
|
||||||
|-----------|-----|
|
|-----|-----------|-----|
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-apache-2.2.svg?branch=master)](https://travis-ci.org/cytopia/docker-apache-2.2) [Apache 2.2](https://github.com/cytopia/docker-apache-2.2) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-5.4.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-5.4) [PHP 5.4](https://github.com/cytopia/docker-php-fpm-5.4) |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-bind.svg?branch=master)](https://travis-ci.org/cytopia/docker-bind) [Bind](https://github.com/cytopia/docker-bind) | [![Build Status](https://travis-ci.org/cytopia/docker-apache-2.2.svg?branch=master)](https://travis-ci.org/cytopia/docker-apache-2.2) [Apache 2.2](https://github.com/cytopia/docker-apache-2.2) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-5.4.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-5.4) [PHP 5.4](https://github.com/cytopia/docker-php-fpm-5.4) |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-apache-2.4.svg?branch=master)](https://travis-ci.org/cytopia/docker-apache-2.4) [Apache 2.4](https://github.com/cytopia/docker-apache-2.4) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-5.5) [PHP 5.5](https://github.com/cytopia/docker-php-fpm-5.5) |
|
| | [![Build Status](https://travis-ci.org/cytopia/docker-apache-2.4.svg?branch=master)](https://travis-ci.org/cytopia/docker-apache-2.4) [Apache 2.4](https://github.com/cytopia/docker-apache-2.4) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-5.5) [PHP 5.5](https://github.com/cytopia/docker-php-fpm-5.5) |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-nginx-stable.svg?branch=master)](https://travis-ci.org/cytopia/docker-nginx-stable) [Nginx stable](https://github.com/cytopia/docker-nginx-stable) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-5.6.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-5.6) [PHP 5.6](https://github.com/cytopia/docker-php-fpm-5.6) |
|
| | [![Build Status](https://travis-ci.org/cytopia/docker-nginx-stable.svg?branch=master)](https://travis-ci.org/cytopia/docker-nginx-stable) [Nginx stable](https://github.com/cytopia/docker-nginx-stable) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-5.6.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-5.6) [PHP 5.6](https://github.com/cytopia/docker-php-fpm-5.6) |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-nginx-mainline.svg?branch=master)](https://travis-ci.org/cytopia/docker-nginx-mainline) [Nginx mainline](https://github.com/cytopia/docker-nginx-mainline) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-7.0.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-7.0) [PHP 7.0](https://github.com/cytopia/docker-php-fpm-7.0) |
|
| | [![Build Status](https://travis-ci.org/cytopia/docker-nginx-mainline.svg?branch=master)](https://travis-ci.org/cytopia/docker-nginx-mainline) [Nginx mainline](https://github.com/cytopia/docker-nginx-mainline) | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-7.0.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-7.0) [PHP 7.0](https://github.com/cytopia/docker-php-fpm-7.0) |
|
||||||
| | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-7.1.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-7.1) [PHP 7.1](https://github.com/cytopia/docker-php-fpm-7.1) |
|
| | | [![Build Status](https://travis-ci.org/cytopia/docker-php-fpm-7.1.svg?branch=master)](https://travis-ci.org/cytopia/docker-php-fpm-7.1) [PHP 7.1](https://github.com/cytopia/docker-php-fpm-7.1) |
|
||||||
| | [![Build Status](https://travis-ci.org/cytopia/docker-hhvm-latest.svg?branch=master)](https://travis-ci.org/cytopia/docker-hhvm-latest) [HHVM latest](https://github.com/cytopia/docker-hhvm-latest)
|
| | | [![Build Status](https://travis-ci.org/cytopia/docker-hhvm-latest.svg?branch=master)](https://travis-ci.org/cytopia/docker-hhvm-latest) [HHVM latest](https://github.com/cytopia/docker-hhvm-latest)
|
||||||
|
|
||||||
|
<sub>**Note:** Entries without links or without build-status are planned, but not yet available. See [ROADMAP](https://github.com/cytopia/devilbox/issues/23) for tasks and upcoming features.</sub>
|
||||||
|
|
||||||
### 2/3 SQL stack (optional)
|
#### 2/3 SQL stack (optional)
|
||||||
|
|
||||||
| MySQL | PostgreSQL |
|
| MySQL | PostgreSQL | MS SQL |
|
||||||
|-------|------------|
|
|-------|------------|--------|
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-5.5) [MySQL 5.5](https://github.com/cytopia/docker-mysql-5.5) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.2](https://hub.docker.com/_/postgres/) |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-5.5) [MySQL 5.5](https://github.com/cytopia/docker-mysql-5.5) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.1](https://hub.docker.com/_/postgres/) | MS SQL 2017 |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-5.6.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-5.6) [MySQL 5.6](https://github.com/cytopia/docker-mysql-5.6) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.3](https://hub.docker.com/_/postgres/) |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-5.6.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-5.6) [MySQL 5.6](https://github.com/cytopia/docker-mysql-5.6) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.2](https://hub.docker.com/_/postgres/) | |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-5.7.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-5.7) [MySQL 5.7](https://github.com/cytopia/docker-mysql-5.7) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.4](https://hub.docker.com/_/postgres/) |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-5.7.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-5.7) [MySQL 5.7](https://github.com/cytopia/docker-mysql-5.7) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.3](https://hub.docker.com/_/postgres/) | |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-8.0.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-8.0) [MySQL 8.0](https://github.com/cytopia/docker-mysql-8.0) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.5](https://hub.docker.com/_/postgres/) |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-mysql-8.0.svg?branch=master)](https://travis-ci.org/cytopia/docker-mysql-8.0) [MySQL 8.0](https://github.com/cytopia/docker-mysql-8.0) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.4](https://hub.docker.com/_/postgres/) | |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-5.5) [MariaDB 5.5](https://github.com/cytopia/docker-mariadb-5.5) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.6](https://hub.docker.com/_/postgres/) |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-5.5.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-5.5) [MariaDB 5.5](https://github.com/cytopia/docker-mariadb-5.5) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.5](https://hub.docker.com/_/postgres/) | |
|
||||||
| [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-10.0.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-10.0) [MariaDB 10.0](https://github.com/cytopia/docker-mariadb-10.0) | |
|
| [![Build Status](https://travis-ci.org/cytopia/docker-mariadb-10.0.svg?branch=master)](https://travis-ci.org/cytopia/docker-mariadb-10.0) [MariaDB 10.0](https://github.com/cytopia/docker-mariadb-10.0) | [![Build Status](https://travis-ci.org/docker-library/postgres.svg?branch=master)](https://travis-ci.org/docker-library/postgres/branches) [PgSQL 9.6](https://hub.docker.com/_/postgres/) | |
|
||||||
| [![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.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.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-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) | | |
|
||||||
|
|
||||||
|
<sub>**Note:** Entries without links or without build-status are planned, but not yet available. See [ROADMAP](https://github.com/cytopia/devilbox/issues/23) for tasks and upcoming features.</sub>
|
||||||
|
|
||||||
### 3/3 NoSQL stack (optional)
|
#### 3/3 NoSQL stack (optional)
|
||||||
|
|
||||||
| Cassandra | CouchDB | Memcached | MongoDB | Redis |
|
| Cassandra | CouchDB | Memcached | MongoDB | Redis |
|
||||||
|-----------|---------|-----------|---------|-------|
|
|-----------|---------|-----------|---------|-------|
|
||||||
@ -101,7 +138,7 @@ No need to install and configure different versions locally. Simply choose your
|
|||||||
| Cassandra 3.0 | | | MongoDB 3.2 | [![Travis CI](https://img.shields.io/travis/docker-library/redis/master.svg)](https://travis-ci.org/docker-library/redis/branches) [Redis 3.2](https://github.com/docker-library/redis) |
|
| Cassandra 3.0 | | | MongoDB 3.2 | [![Travis CI](https://img.shields.io/travis/docker-library/redis/master.svg)](https://travis-ci.org/docker-library/redis/branches) [Redis 3.2](https://github.com/docker-library/redis) |
|
||||||
| | | | MongoDB 3.4 | |
|
| | | | MongoDB 3.4 | |
|
||||||
|
|
||||||
<sub>**Note:** Entries without links or without build-status are not yet available, but are coming soon. See [ROADMAP](https://github.com/cytopia/devilbox/issues/23) for tasks and upcoming features.</sub>
|
<sub>**Note:** Entries without links or without build-status are planned, but not yet available. See [ROADMAP](https://github.com/cytopia/devilbox/issues/23) for tasks and upcoming features.</sub>
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@ -119,15 +156,6 @@ No need to install and configure different versions locally. Simply choose your
|
|||||||
| todo | todo | todo | todo |
|
| todo | todo | todo | todo |
|
||||||
-->
|
-->
|
||||||
|
|
||||||
## Feature overview
|
|
||||||
|
|
||||||
* Dynamically Configured **Mass Virtual Hosting**
|
|
||||||
* **Email** catch-all (Intercept and view all sent emails)
|
|
||||||
* Configuration **overwrites** (`my.cnf`, `nginx.conf`, `httpd.conf` or `php.ini`)
|
|
||||||
* **Log files** available on host computer
|
|
||||||
* MySQL socket (available on host computer and PHP container)
|
|
||||||
* MySQL connectivity (reachable from host computer and from PHP container via `127.0.0.1` and `localhost`)
|
|
||||||
* **Xdebug**
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -41,18 +41,19 @@ Each service has a `<SERVICE_NAME>_SERVER` variable with a corresponding version
|
|||||||
It is important to leave at least one version uncomment, otherwise the start-up will lead to errors. Use the following variable to control which version will be loaded:
|
It is important to leave at least one version uncomment, otherwise the start-up will lead to errors. Use the following variable to control which version will be loaded:
|
||||||
|
|
||||||
* **`PHP_SERVER`**
|
* **`PHP_SERVER`**
|
||||||
* **`HTTP_SERVER`**
|
* **`HTTPD_SERVER`**
|
||||||
* **`MYSQL_SERVER`**
|
* **`MYSQL_SERVER`**
|
||||||
* **`PGSQL_SERVER`**
|
* **`PGSQL_SERVER`**
|
||||||
* **`REDIS_SERVER`**
|
* **`REDIS_SERVER`**
|
||||||
|
* **`MEMCD_SERVER`**
|
||||||
|
|
||||||
#### 1.2 Data directories
|
#### 1.2 Data directories
|
||||||
|
|
||||||
There are a few pre-configured data directories to make storage persistent across container restarts:
|
There are a few pre-configured data directories to make storage persistent across container restarts:
|
||||||
|
|
||||||
* *`HOST_PATH_TO_WWW_DOCROOTS`*
|
* *`HOST_PATH_HTTPD_DATADIR`*
|
||||||
* *`HOST_PATH_TO_MYSQL_DATADIR`*
|
* *`HOST_PATH_MYSQL_DATADIR`*
|
||||||
* *`HOST_PATH_TO_POSTGRES_DATADIR`*
|
* *`HOST_PATH_PGSQL_DATADIR`*
|
||||||
|
|
||||||
The values by default point to relative directories inside the devilbox repository. You can however also point them to different locations (relative or absolute)
|
The values by default point to relative directories inside the devilbox repository. You can however also point them to different locations (relative or absolute)
|
||||||
|
|
||||||
|
16
doc/Info.md
16
doc/Info.md
@ -24,13 +24,14 @@ 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.
|
> 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 |
|
| Container | Container name | Hostname | IP Address |
|
||||||
|-----------------|-----------------|-----------|---------------|
|
|-----------------|-----------------|-----------|----------------|
|
||||||
|
| DNS | bind | bind | 172.16.238.100 |
|
||||||
| PHP / HHVM | php | php | 172.16.238.10 |
|
| PHP / HHVM | php | php | 172.16.238.10 |
|
||||||
| Apache / Nginx | http | http | 172.16.238.11 |
|
| Apache / Nginx | http | http | 172.16.238.11 |
|
||||||
| MySQL / MariaDB | mysql | mysql | 172.16.238.12 |
|
| MySQL / MariaDB | mysql | mysql | 172.16.238.12 |
|
||||||
| PostgreSQL | pgsql | pgsql | 172.16.238.13 |
|
| PostgreSQL | pgsql | pgsql | 172.16.238.13 |
|
||||||
| Redis | redis | redis | 172.16.238.14 |
|
| Redis | redis | redis | 172.16.238.14 |
|
||||||
| Memcahed | memcached | memcached | 172.16.238.15 |
|
| Memcahed | memcd | memcd | 172.16.238.15 |
|
||||||
|
|
||||||
### Background
|
### Background
|
||||||
|
|
||||||
@ -45,9 +46,8 @@ The PHP container is using [socat](https://linux.die.net/man/1/socat) to
|
|||||||
1. forward the remote mysql port `3306` (on the mysql container) to its own `127.0.0.1:3306`
|
1. forward the remote mysql port `3306` (on the mysql container) to its own `127.0.0.1:3306`
|
||||||
2. forward the remote pgsql port `5432` (on the mysql container) to its own `127.0.0.1:5432`
|
2. forward the remote pgsql port `5432` (on the mysql container) to its own `127.0.0.1:5432`
|
||||||
3. forward the remote redis port `6379` (on the mysql container) to its own `127.0.0.1:6379`
|
3. forward the remote redis port `6379` (on the mysql container) to its own `127.0.0.1:6379`
|
||||||
|
3. forward the remote mecahced port `11211` (on the memcd container) to its own `127.0.0.1:11211`
|
||||||
|
|
||||||
The PHP container is using volumes to
|
|
||||||
1. mount the remote `mysql.sock` to its own filesystem into a path configured in its `php.ini`
|
|
||||||
|
|
||||||
#### Background - Docker Host
|
#### Background - Docker Host
|
||||||
|
|
||||||
@ -55,6 +55,7 @@ The docker host (your computer) does exactly the same as the `php` container.
|
|||||||
1. container mysql port `3306` is exposed to the host on port `127.0.0.1:3306`
|
1. container mysql port `3306` is exposed to the host on port `127.0.0.1:3306`
|
||||||
2. container pgsql port `5432` is exposed to the host on port `127.0.0.1:5432`
|
2. container pgsql port `5432` is exposed to the host on port `127.0.0.1:5432`
|
||||||
3. container redis port `6379` is exposed to the host on port `127.0.0.1:6379`
|
3. container redis port `6379` is exposed to the host on port `127.0.0.1:6379`
|
||||||
|
3. container memcd port `11211` is exposed to the host on port `127.0.0.1:11211`
|
||||||
|
|
||||||
Also the database sockets from the container are mounted into the host.
|
Also the database sockets from the container are mounted into the host.
|
||||||
|
|
||||||
@ -64,13 +65,6 @@ With the PHP container and the docker host (your computer) behaving the same it
|
|||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
mysql_connect('127.0.0.1', 'user', 'pass');
|
mysql_connect('127.0.0.1', 'user', 'pass');
|
||||||
// or using sockets
|
|
||||||
mysql_connect('localhost', 'user', 'pass');
|
|
||||||
```
|
```
|
||||||
|
|
||||||
This setup can then either be served by the docker or by your host computer (if you shutdown docker and start your local lamp stack)
|
This setup can then either be served by the docker or by your host computer (if you shutdown docker and start your local lamp stack)
|
||||||
|
|
||||||
#### Background - Implications
|
|
||||||
|
|
||||||
Messing around with socket mounts has caused some problems in the past and it might be subject of change.
|
|
||||||
In order to stay compatible it is your best choice to use `127.0.0.1` instead of `localhost`.
|
|
||||||
|
@ -19,8 +19,9 @@ PHP Projects |
|
|||||||
|
|
||||||
### TL;DR
|
### TL;DR
|
||||||
|
|
||||||
1. Create folder `${HOST_PATH_TO_MYSQL_DATADIR}/my-project/htdocs
|
1. Create folder `${HOST_PATH_HTTPD_DATADIR}/my-project/htdocs`
|
||||||
2. Expand docker host `/etc/hosts` with `127.0.0.1 my-project.loc`
|
2. Set `${TLD_SUFFIX}` in the `.env` file (example: `loc`)
|
||||||
|
2. Expand docker host `/etc/hosts` with `127.0.0.1 my-project.loc` or attach included DNS server to your host and stop worrying about DNS
|
||||||
3. Browse `http://my-project.loc`
|
3. Browse `http://my-project.loc`
|
||||||
|
|
||||||
|
|
||||||
@ -28,16 +29,29 @@ PHP Projects |
|
|||||||
|
|
||||||
As an example, we are going to add two projects.
|
As an example, we are going to add two projects.
|
||||||
|
|
||||||
**Prerequisites**
|
**Prerequisites (dir)**
|
||||||
|
|
||||||
For this case let's assume your www root folder points to `~/www`. This means your projects will reside on your host computer in your home directory under www.
|
For this case let's assume your www root folder points to `~/www`. This means your projects will reside on your host computer in your home directory under www.
|
||||||
|
|
||||||
In order to achive this set `HOST_PATH_TO_WWW_DOCROOTS=~/www` in the `.env` file (If this file does not yet exist, copy `env-example` to `.env`).
|
In order to achive this set `HOST_PATH_HTTPD_DATADIR=~/www` in the `.env` file (If this file does not yet exist, copy `env-example` to `.env`).
|
||||||
|
|
||||||
`.env`:
|
`.env`:
|
||||||
```
|
```
|
||||||
...
|
...
|
||||||
HOST_PATH_TO_WWW_DOCROOTS=~/www
|
HOST_PATH_HTTPD_DATADIR=~/www
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prerequisites (domain suffix)**
|
||||||
|
|
||||||
|
Let's also assume that you have chosen `*.loc` as you projects `TLD_SUFFIX` Domain
|
||||||
|
|
||||||
|
In order to achive this set `TLD_SUFFIX=loc` in the `.env` file (If this file does not yet exist, copy `env-example` to `.env`).
|
||||||
|
|
||||||
|
`.env`:
|
||||||
|
```
|
||||||
|
...
|
||||||
|
TLD_SUFFIX=loc
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
BIN
doc/img/devilbox-dash-01.png
Normal file
BIN
doc/img/devilbox-dash-01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 82 KiB |
BIN
doc/img/devilbox-dash-02.png
Normal file
BIN
doc/img/devilbox-dash-02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
BIN
doc/img/devilbox-dash-03.png
Normal file
BIN
doc/img/devilbox-dash-03.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
Loading…
x
Reference in New Issue
Block a user