mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-25 02:29:20 +00:00
Compare commits
8 Commits
v1.0.1
...
v1.0.0-alp
Author | SHA1 | Date | |
---|---|---|---|
57b2a5c599 | |||
9e4a0fbef9 | |||
a7b0d9b1eb | |||
693f3a889f | |||
9397ffe69a | |||
f72da21a1d | |||
524aa03cbc | |||
b236f3689b |
@ -13,8 +13,8 @@ error_reporting(-1);
|
|||||||
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
||||||
|
|
||||||
|
|
||||||
$DEVILBOX_VERSION = 'v1.0.1';
|
$DEVILBOX_VERSION = 'v1.0.0-alpha1';
|
||||||
$DEVILBOX_DATE = '2019-03-24';
|
$DEVILBOX_DATE = '2019-03-09';
|
||||||
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
||||||
|
|
||||||
//
|
//
|
||||||
|
75
CHANGELOG.md
75
CHANGELOG.md
@ -3,37 +3,14 @@
|
|||||||
Make sure to have a look at [UPDATING](https://github.com/cytopia/devilbox/blob/master/UPDATING.md) to see any required steps for updating
|
Make sure to have a look at [UPDATING](https://github.com/cytopia/devilbox/blob/master/UPDATING.md) to see any required steps for updating
|
||||||
major versions.
|
major versions.
|
||||||
|
|
||||||
|
## [unreleasd]
|
||||||
## Bugfix Release v1.0.1 (2019-03-24)
|
|
||||||
|
|
||||||
This is a bugfix release and everybody is encouraged to upgrade to this tag as soon as possible.
|
|
||||||
No explicit actions to be taken for updating.
|
|
||||||
|
|
||||||
#### Fixed
|
|
||||||
- [#373](https://github.com/cytopia/devilbox/issues/373) Read custom MySQL configuration
|
|
||||||
- [#540](https://github.com/cytopia/devilbox/issues/540) Fix '&' password substitution in mysqldump-secure
|
|
||||||
- [#209](https://github.com/cytopia/devilbox/issues/209) Documentation for Xdebug on Docker for Windows
|
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
- Updated MongoDB cli tools in PHP image
|
- Split Bind container into internal DNS and autoDNS: #248
|
||||||
- Updated PostgreSQL cli tools in PHP image
|
- This fixes various issues with Docker Toolbox and DNS resolution: #119
|
||||||
- MySQL images are now bound to a specific Docker tag and are built nightly
|
|
||||||
- [#506](https://github.com/cytopia/devilbox/issues/506) Documentation improvements for connecting to databases
|
|
||||||
|
|
||||||
#### Added
|
|
||||||
- [#536](https://github.com/cytopia/devilbox/issues/536) Added @vue/cli and @vue/cli-service-global
|
|
||||||
|
|
||||||
|
|
||||||
## Release v1.0.0 (2019-03-19)
|
## v1.0.0-alpha1
|
||||||
|
|
||||||
This is the first major stable release of the Devilbox.
|
|
||||||
|
|
||||||
#### Changed
|
|
||||||
- Everything from v1.0.0-alpha1 has been backported
|
|
||||||
- Everything from v0.15.0 has been backported
|
|
||||||
|
|
||||||
|
|
||||||
## Pre-Release v1.0.0-alpha1 (2019-03-09)
|
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
- Use Docker volumes instead of directory mounts for stateful data (MySQL, PgSQL and MongoDB)
|
- Use Docker volumes instead of directory mounts for stateful data (MySQL, PgSQL and MongoDB)
|
||||||
@ -42,29 +19,7 @@ This is the first major stable release of the Devilbox.
|
|||||||
- Use Official MySQL, MariaDB and Percona Docker container
|
- Use Official MySQL, MariaDB and Percona Docker container
|
||||||
|
|
||||||
|
|
||||||
## Release v0.15.0 (2019-03-09)
|
## v0.15.0
|
||||||
|
|
||||||
This will be the last v0.x release.
|
|
||||||
|
|
||||||
#### Fixed
|
|
||||||
- break on errors in wrong vhost-gen overwrite
|
|
||||||
- XSS vulnerability in email display
|
|
||||||
- Various fixes in Documentation
|
|
||||||
- vhost-gen fixes
|
|
||||||
|
|
||||||
#### Changed
|
|
||||||
- Use semantic versioning
|
|
||||||
- This allows for faster releases
|
|
||||||
- This allows for better visibility of breaking changes (note that breaking changes might still occur before release v1.0.0)
|
|
||||||
- Autologin for phpMyAdmin
|
|
||||||
- Autologin for phpPgAdmin
|
|
||||||
- Intranet to show vhost and vhost-gen overwrite config per vhost
|
|
||||||
- Allow to specify Redis startup arguments (e.g.: password)
|
|
||||||
- Fixed hostnames for all Docker container
|
|
||||||
- PHP-FPM workers changed from `dynamic` to `ondemand`
|
|
||||||
- Allow Apache to server underscore domains
|
|
||||||
- Changed Nginx `client_max_body_size` to `0` to be in sync with Apache
|
|
||||||
- Document failing start behaviour of MySQL container
|
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
- [CHANGELOG](https://github.com/cytopia/devilbox/blob/master/CHANGELOG.md) by the standard of: https://keepachangelog.com
|
- [CHANGELOG](https://github.com/cytopia/devilbox/blob/master/CHANGELOG.md) by the standard of: https://keepachangelog.com
|
||||||
@ -83,7 +38,6 @@ This will be the last v0.x release.
|
|||||||
- PHP 5.2
|
- PHP 5.2
|
||||||
- PHP 5.3
|
- PHP 5.3
|
||||||
- PHP 7.4
|
- PHP 7.4
|
||||||
- PHP 8.0
|
|
||||||
- Alpine images where possible
|
- Alpine images where possible
|
||||||
- Docker Compose overwrite images:
|
- Docker Compose overwrite images:
|
||||||
- Blackfire
|
- Blackfire
|
||||||
@ -128,3 +82,22 @@ This will be the last v0.x release.
|
|||||||
- Typo3
|
- Typo3
|
||||||
- GitHub Issue templates
|
- GitHub Issue templates
|
||||||
- Discourse forum link: https://devilbox.discourse.group
|
- Discourse forum link: https://devilbox.discourse.group
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
- Use semantic versioning
|
||||||
|
- This allows for faster releases
|
||||||
|
- This allows for better visibility of breaking changes (note that breaking changes might still occur before release v1.0.0)
|
||||||
|
- Autologin for phpMyAdmin
|
||||||
|
- Autologin for phpPgAdmin
|
||||||
|
- Intranet to show vhost and vhost-gen overwrite config per vhost
|
||||||
|
- Allow to specify Redis startup arguments (e.g.: password)
|
||||||
|
- Fixed hostnames for all Docker container
|
||||||
|
- PHP-FPM workers changed from `dynamic` to `ondemand`
|
||||||
|
- Allow Apache to server underscore domains
|
||||||
|
- Changed Nginx `client_max_body_size` to `0` to be in sync with Apache
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
- break on errors in wrong vhost-gen overwrite
|
||||||
|
- XSS vulnerability in email display
|
||||||
|
- Various fixes in Documentation
|
||||||
|
- vhost-gen fixes
|
||||||
|
@ -773,7 +773,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
|||||||
| tidy | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
| tidy | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||||
| tokenizer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
| tokenizer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||||
| uploadprogress | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
| uploadprogress | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||||
| wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
|
| wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||||
| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
|
| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
|
||||||
| xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
| xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||||
| xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
| xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||||
|
@ -95,7 +95,7 @@ services:
|
|||||||
# PHP
|
# PHP
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
php:
|
php:
|
||||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.81
|
image: devilbox/php-fpm:${PHP_SERVER}-work-0.80
|
||||||
hostname: php
|
hostname: php
|
||||||
|
|
||||||
##
|
##
|
||||||
@ -309,7 +309,7 @@ services:
|
|||||||
# MySQL Database
|
# MySQL Database
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
mysql:
|
mysql:
|
||||||
image: devilbox/mysql:${MYSQL_SERVER}-0.3
|
image: devilbox/mysql:${MYSQL_SERVER}
|
||||||
hostname: mysql
|
hostname: mysql
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 39 KiB |
Binary file not shown.
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 27 KiB |
@ -1,9 +1,3 @@
|
|||||||
.. |ext_lnk_blog_openstream| raw:: html
|
|
||||||
|
|
||||||
<a target="_blank" href="https://www.openstream.ch/developer-blog/devilbox/">
|
|
||||||
Docker LAMP Stack for WordPress and Magento <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
.. |ext_lnk_blog_deliciousbrains| raw:: html
|
.. |ext_lnk_blog_deliciousbrains| raw:: html
|
||||||
|
|
||||||
<a target="_blank" href="https://deliciousbrains.com/devilbox-local-wordpress-development-docker/">
|
<a target="_blank" href="https://deliciousbrains.com/devilbox-local-wordpress-development-docker/">
|
||||||
|
@ -231,12 +231,6 @@
|
|||||||
Text-mode Interface for Git <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
Text-mode Interface for Git <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
.. |ext_lnk_tool_vue| raw:: html
|
|
||||||
|
|
||||||
<a target="_blank" href="https://cli.vuejs.org">
|
|
||||||
Standard Tooling for Vue.js Development <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
.. |ext_lnk_tool_webpack| raw:: html
|
.. |ext_lnk_tool_webpack| raw:: html
|
||||||
|
|
||||||
<a target="_blank" href="https://webpack.js.org">
|
<a target="_blank" href="https://webpack.js.org">
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<div style="background-color:#dddcb7; border: 3px solid #DA111A; padding:10px 20px; margin-bottom:20px;">
|
||||||
|
<h1 style="margin-bottom:15px;">Important Announcement</h1>
|
||||||
|
<p style="margin:5px;">Everybody is strongly encouraged to switch to the upcoming v1.0.0 release version to prevent unforseen issues upon merge to master.</p>
|
||||||
|
<p style="margin:5px;"><strong>Instructions here:</strong> <a target="_blank" href="https://github.com/cytopia/devilbox/pull/416">https://github.com/cytopia/devilbox/pull/416</a>.</p>
|
||||||
|
</div>
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
+---------------------------+-------+----------+----------------+
|
|
||||||
| Container | Name | Hostname | IP Address |
|
|
||||||
+===========================+=======+==========+================+
|
|
||||||
| DNS | bind | bind | 172.16.238.100 |
|
|
||||||
+---------------------------+-------+----------+----------------+
|
|
||||||
| PHP | php | php | 172.16.238.10 |
|
|
||||||
+---------------------------+-------+----------+----------------+
|
|
||||||
| Apache, Nginx | httpd | httpd | 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 |
|
|
||||||
+---------------------------+-------+----------+----------------+
|
|
@ -9,7 +9,7 @@ Setup Wordpress
|
|||||||
|
|
||||||
This example will use ``git`` to install Wordpress from within the Devilbox PHP container.
|
This example will use ``git`` to install Wordpress from within the Devilbox PHP container.
|
||||||
|
|
||||||
After completing the below listed steps, you will have a working Wordpress setup ready to be
|
After completing the below listed steps, you will have a working Laravel setup ready to be
|
||||||
served via http and https.
|
served via http and https.
|
||||||
|
|
||||||
.. seealso:: |ext_lnk_example_wordpress_documentation|
|
.. seealso:: |ext_lnk_example_wordpress_documentation|
|
||||||
|
@ -74,11 +74,19 @@ PHP project hostname settings
|
|||||||
=============================
|
=============================
|
||||||
|
|
||||||
When configuring your PHP projects to use MySQL, PostgreSQL, Redis, Mongo and other services,
|
When configuring your PHP projects to use MySQL, PostgreSQL, Redis, Mongo and other services,
|
||||||
make sure to set the hostname/address of each of those services to how they are defined within the
|
make sure to set the hostname of each of those services to ``127.0.0.1``.
|
||||||
Devilbox network:
|
|
||||||
|
|
||||||
.. include:: /_includes/snippets/core-container.rst
|
**Why is that?**
|
||||||
|
|
||||||
|
The PHP container port-forwards each service port to its own listen address on ``127.0.0.1``.
|
||||||
|
The Devilbox also exposes each of those service ports to the host operating system on ``127.0.0.1``.
|
||||||
|
|
||||||
|
This allows you to keep your project configuration unchanged and have the same behaviour inside the
|
||||||
|
PHP container and on your host operating system.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
Do not mix up ``localhost`` with ``127.0.0.1``. They behave differently!
|
||||||
|
Use ``127.0.0.1`` and do not use ``localhost``.
|
||||||
|
|
||||||
As an example, if you want to access the MySQL database from within the PHP container, you do the
|
As an example, if you want to access the MySQL database from within the PHP container, you do the
|
||||||
following:
|
following:
|
||||||
@ -93,11 +101,10 @@ following:
|
|||||||
host> ./shell.sh
|
host> ./shell.sh
|
||||||
|
|
||||||
# Enter the MySQL console
|
# Enter the MySQL console
|
||||||
php> mysql -u root -h mysql -p
|
php> mysql -u root -h 127.0.0.1 -p
|
||||||
mysql>
|
mysql>
|
||||||
|
|
||||||
To access the MySQL database from your host operating system you would need the address to what it
|
The very same command applies to access the MySQL database from your host operating system:
|
||||||
exposes to on your host (usually ``127.0.0.1``):
|
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
:emphasize-lines: 2
|
:emphasize-lines: 2
|
||||||
@ -106,14 +113,17 @@ exposes to on your host (usually ``127.0.0.1``):
|
|||||||
host> mysql -u root -h 127.0.0.1 -p
|
host> mysql -u root -h 127.0.0.1 -p
|
||||||
mysql>
|
mysql>
|
||||||
|
|
||||||
Any of your projects php files that configure MySQL as an example should point the hostname
|
So no matter if you use the Devilbox or have another LAMP stack installed locally on your host
|
||||||
or IP address of the MySQL server to ``mysql``:
|
operating system, you do not have to change your configuration files if you stick to this tip.
|
||||||
|
|
||||||
|
So any of your projects php files that configure MySQL as an example should point the hostname
|
||||||
|
or IP address of the MySQL server to ``127.0.0.1``:
|
||||||
|
|
||||||
.. code-block:: php
|
.. code-block:: php
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// MySQL server connection in your project configuration
|
// MySQL server connection in your project configuration
|
||||||
mysql_host = 'mysql';
|
mysql_host = '127.0.0.1';
|
||||||
mysql_port = '3306';
|
mysql_port = '3306';
|
||||||
mysql_user = 'someusername';
|
mysql_user = 'someusername';
|
||||||
mysql_pass = 'somepassword';
|
mysql_pass = 'somepassword';
|
||||||
@ -125,11 +135,11 @@ or IP address of the MySQL server to ``mysql``:
|
|||||||
Timezone
|
Timezone
|
||||||
========
|
========
|
||||||
|
|
||||||
The :ref:`env_timezone` value will affect PHP and web serverequally. It does
|
The :ref:`env_timezone` value will affect PHP, web server and MySQL container equally. It does
|
||||||
however not affect any other official Docker container that are used within the Devilbox. This is
|
however not affect any other official Docker container that are used within the Devilbox. This is
|
||||||
an issue that is currently still being worked on.
|
an issue that is currently still being worked on.
|
||||||
|
|
||||||
Feel free to change this to any timezone you require for PHP, but keep in mind that
|
Feel free to change this to any timezone you require for PHP and MySQL, but keep in mind that
|
||||||
timezone values for databases can be painful, once you want to switch to a different timezone.
|
timezone values for databases can be painful, once you want to switch to a different timezone.
|
||||||
|
|
||||||
A good practice is to always use ``UTC`` on databases and have your front-end application calculate
|
A good practice is to always use ``UTC`` on databases and have your front-end application calculate
|
||||||
|
@ -36,14 +36,41 @@ Gather Host IP address
|
|||||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||||
via ``xdebug.remote_host``.
|
via ``xdebug.remote_host``.
|
||||||
|
|
||||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||||
use the ``Default Switch`` automatically.
|
on your configuration:
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
1. DockerNat IP address (no custom configuration applied)
|
||||||
|
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||||
|
|
||||||
|
Only one of the options may be valid for your setup.
|
||||||
|
|
||||||
|
DockerNAT IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
1. Open command line
|
1. Open command line
|
||||||
2. Enter ``ipconfig``
|
2. Enter ``ipconfig``
|
||||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||||
|
Ensure you substitute it with the correct IP address.
|
||||||
|
|
||||||
|
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||||
|
|
||||||
|
Virtual Switch IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||||
|
Virtual Switch IP address instead of the DockerNat IP address.
|
||||||
|
|
||||||
|
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||||
|
|
||||||
|
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||||
|
|
||||||
|
|
||||||
|
1. Open command line
|
||||||
|
2. Enter ``ipconfig``
|
||||||
|
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||||
|
|
||||||
|
@ -36,14 +36,41 @@ Gather Host IP address
|
|||||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||||
via ``xdebug.remote_host``.
|
via ``xdebug.remote_host``.
|
||||||
|
|
||||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||||
use the ``Default Switch`` automatically.
|
on your configuration:
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
1. DockerNat IP address (no custom configuration applied)
|
||||||
|
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||||
|
|
||||||
|
Only one of the options may be valid for your setup.
|
||||||
|
|
||||||
|
DockerNAT IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
1. Open command line
|
1. Open command line
|
||||||
2. Enter ``ipconfig``
|
2. Enter ``ipconfig``
|
||||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||||
|
Ensure you substitute it with the correct IP address.
|
||||||
|
|
||||||
|
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||||
|
|
||||||
|
Virtual Switch IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||||
|
Virtual Switch IP address instead of the DockerNat IP address.
|
||||||
|
|
||||||
|
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||||
|
|
||||||
|
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||||
|
|
||||||
|
|
||||||
|
1. Open command line
|
||||||
|
2. Enter ``ipconfig``
|
||||||
|
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||||
|
|
||||||
|
@ -36,14 +36,41 @@ Gather Host IP address
|
|||||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||||
via ``xdebug.remote_host``.
|
via ``xdebug.remote_host``.
|
||||||
|
|
||||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||||
use the ``Default Switch`` automatically.
|
on your configuration:
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
1. DockerNat IP address (no custom configuration applied)
|
||||||
|
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||||
|
|
||||||
|
Only one of the options may be valid for your setup.
|
||||||
|
|
||||||
|
DockerNAT IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
1. Open command line
|
1. Open command line
|
||||||
2. Enter ``ipconfig``
|
2. Enter ``ipconfig``
|
||||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||||
|
Ensure you substitute it with the correct IP address.
|
||||||
|
|
||||||
|
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||||
|
|
||||||
|
Virtual Switch IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||||
|
Virtual Switch IP address instead of the DockerNat IP address.
|
||||||
|
|
||||||
|
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||||
|
|
||||||
|
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||||
|
|
||||||
|
|
||||||
|
1. Open command line
|
||||||
|
2. Enter ``ipconfig``
|
||||||
|
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||||
|
|
||||||
|
@ -36,14 +36,41 @@ Gather Host IP address
|
|||||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||||
via ``xdebug.remote_host``.
|
via ``xdebug.remote_host``.
|
||||||
|
|
||||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||||
use the ``Default Switch`` automatically.
|
on your configuration:
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
1. DockerNat IP address (no custom configuration applied)
|
||||||
|
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||||
|
|
||||||
|
Only one of the options may be valid for your setup.
|
||||||
|
|
||||||
|
DockerNAT IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
1. Open command line
|
1. Open command line
|
||||||
2. Enter ``ipconfig``
|
2. Enter ``ipconfig``
|
||||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||||
|
Ensure you substitute it with the correct IP address.
|
||||||
|
|
||||||
|
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||||
|
|
||||||
|
Virtual Switch IP address
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||||
|
Virtual Switch IP address instead of the DockerNat IP address.
|
||||||
|
|
||||||
|
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||||
|
|
||||||
|
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||||
|
|
||||||
|
|
||||||
|
1. Open command line
|
||||||
|
2. Enter ``ipconfig``
|
||||||
|
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||||
|
|
||||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||||
|
|
||||||
@ -110,7 +137,7 @@ You will need to configure the path mapping in ``launch.json`` (VSCode configura
|
|||||||
"request": "launch",
|
"request": "launch",
|
||||||
"port": 9000,
|
"port": 9000,
|
||||||
"pathMappings": {
|
"pathMappings": {
|
||||||
"/shared/httpd/mytest/htdocs": "${workspaceRoot}/htdocs"
|
"/shared/httpd/mytest/htdocs": "${workspaceFolder}/htdocs"
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
"name": "Launch currently open script",
|
"name": "Launch currently open script",
|
||||||
|
@ -171,36 +171,71 @@ See the following table for a few examples:
|
|||||||
IP address mappings
|
IP address mappings
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
The following table shows a mapping of IP addresses and hostnames. In other words, when you are inside
|
The following table shows a mapping of IP addresses of available service from the perspective
|
||||||
the PHP container, you can reach the services via the below defined IP addresses or hostnames:
|
of your host operating system and from within the PHP container.
|
||||||
|
|
||||||
.. include:: /_includes/snippets/core-container.rst
|
+--------------+-----------------+------------------------------+
|
||||||
|
| Service | IP from host os | IP from within PHP container |
|
||||||
|
+==============+=================+==============================+
|
||||||
|
| PHP | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
| Apache/Nginx | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
| MySQL | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
| PostgreSQL | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
| Redis | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
| Memcached | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
| MongoDB | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||||
|
+--------------+-----------------+------------------------------+
|
||||||
|
|
||||||
.. note:: It is recommended to use hostnames as they can be remembered much easiert.
|
As you can see, everyhing is available under ``127.0.0.1``.
|
||||||
|
|
||||||
An example to access the MySQL database from within the PHP container:
|
The PHP container is using ``socat`` to forward the services from all other available containers
|
||||||
|
to its own ``127.0.0.1`` address.
|
||||||
|
|
||||||
|
An example to access the MySQL database from either host or within the PHP container is the same:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# Access MySQL from your host operating system
|
# Access MySQL from your host operating system
|
||||||
host> mysql -h 127.0.0.1 -u root -p
|
host> mysql -h 127.0.0.1
|
||||||
|
|
||||||
# Access MySQL from within the PHP container
|
# Access MySQL from within the PHP container
|
||||||
devilbox@php-7.0.19 in /shared/httpd $ mysql -h mysql -u root -p
|
devilbox@php-7.0.19 in /shared/httpd $ mysql -h 127.0.0.1
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
Do not use ``localhost`` to access the services, it does not map to ``127.0.0.1`` on
|
||||||
|
all cases.
|
||||||
|
|
||||||
So when setting up a configuration file from your PHP project you would for example use
|
So when setting up a configuration file from your PHP project you would for example use
|
||||||
``mysql`` as the host for your MySQL database connection:
|
``127.0.0.`` as the host for your MySQL database connection:
|
||||||
|
|
||||||
.. code-block:: php
|
.. code-block:: php
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// MySQL server connection
|
// MySQL server connection
|
||||||
mysql_host = 'mysql';
|
mysql_host = '127.0.0.1';
|
||||||
mysql_port = '3306';
|
mysql_port = '3306';
|
||||||
mysql_user = 'someusername';
|
mysql_user = 'someusername';
|
||||||
mysql_pass = 'somepassword';
|
mysql_pass = 'somepassword';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
Imagine your PHP framework ships a command line tool to run database migration. You could run
|
||||||
|
it from your host operating system or from within the PHP container. It would work from both
|
||||||
|
sides as the connection to the database is exactly the same locally or within the container.
|
||||||
|
|
||||||
|
You could also even switch between the Devilbox and a locally installed LAMP stack
|
||||||
|
and still use the same configuration.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
The mapping of ``127.0.0.1`` to your host operating system does not work with
|
||||||
|
Docker Toolbox out of the box. In order to achieve the same behaviour read up on:
|
||||||
|
:ref:`howto_docker_toolbox_and_the_devilbox`.
|
||||||
|
|
||||||
|
|
||||||
Port mappings
|
Port mappings
|
||||||
-------------
|
-------------
|
||||||
@ -248,5 +283,7 @@ Checklist
|
|||||||
2. You know how to become root inside the PHP container
|
2. You know how to become root inside the PHP container
|
||||||
3. You know how to leave the container
|
3. You know how to leave the container
|
||||||
4. You know that file and directory permissions are synronized
|
4. You know that file and directory permissions are synronized
|
||||||
5. You know by what hostnames you can reach a specific service
|
5. You know that ``127.0.0.1`` is available on your host and inside the PHP container
|
||||||
6. You know that project urls are available inside the container and on your host
|
6. You know that ports are the same inside the container and on your host os
|
||||||
|
7. You know that project urls are available inside the container and on your host
|
||||||
|
8. You know about the limitations of :ref:`howto_docker_toolbox_and_the_devilbox`
|
||||||
|
@ -18,7 +18,25 @@ Core container
|
|||||||
|
|
||||||
These container are well integrated into the Devilbox intranet and are considered core container:
|
These container are well integrated into the Devilbox intranet and are considered core container:
|
||||||
|
|
||||||
.. include:: /_includes/snippets/core-container.rst
|
+---------------------------+-------+----------+----------------+
|
||||||
|
| Container | Name | Hostname | IP Address |
|
||||||
|
+===========================+=======+==========+================+
|
||||||
|
| DNS | bind | bind | 172.16.238.100 |
|
||||||
|
+---------------------------+-------+----------+----------------+
|
||||||
|
| PHP | php | php | 172.16.238.10 |
|
||||||
|
+---------------------------+-------+----------+----------------+
|
||||||
|
| Apache, Nginx | httpd | httpd | 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 |
|
||||||
|
+---------------------------+-------+----------+----------------+
|
||||||
|
|
||||||
|
|
||||||
Additional container
|
Additional container
|
||||||
|
@ -91,8 +91,6 @@ The PHP container is your workhorse and these are your tools:
|
|||||||
+----------------------+---------------------------------------+
|
+----------------------+---------------------------------------+
|
||||||
| ``tig`` | |ext_lnk_tool_tig| |
|
| ``tig`` | |ext_lnk_tool_tig| |
|
||||||
+----------------------+---------------------------------------+
|
+----------------------+---------------------------------------+
|
||||||
| ``vue`` | |ext_lnk_tool_vue| |
|
|
||||||
+----------------------+---------------------------------------+
|
|
||||||
| ``webpack`` | |ext_lnk_tool_webpack| |
|
| ``webpack`` | |ext_lnk_tool_webpack| |
|
||||||
+----------------------+---------------------------------------+
|
+----------------------+---------------------------------------+
|
||||||
| ``wp`` | |ext_lnk_tool_wp| |
|
| ``wp`` | |ext_lnk_tool_wp| |
|
||||||
|
@ -46,8 +46,6 @@ The following shows a list of blogs that give a nice and objective introduction
|
|||||||
+---------------------------------+----------+
|
+---------------------------------+----------+
|
||||||
| |ext_lnk_blog_moritzkanzler| | German |
|
| |ext_lnk_blog_moritzkanzler| | German |
|
||||||
+---------------------------------+----------+
|
+---------------------------------+----------+
|
||||||
| |ext_lnk_blog_openstream| | English |
|
|
||||||
+---------------------------------+----------+
|
|
||||||
|
|
||||||
|
|
||||||
Use-cases
|
Use-cases
|
||||||
|
@ -110,27 +110,6 @@ A few general things you should always do before attempting to open up issues ar
|
|||||||
that are shared by Docker. If not add those in the Docker settings.
|
that are shared by Docker. If not add those in the Docker settings.
|
||||||
|
|
||||||
|
|
||||||
No Space left on Device
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
If on Docker for Mac you get an error during docker pull similar to the following one:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
write /var/lib/docker/tmp/GetImageBlob220119603: no space left on device
|
|
||||||
|
|
||||||
It means the file where MacOS stores the docker images is full. The usual way is to delete
|
|
||||||
unused images and volumes to free up space or increase this volumes size.
|
|
||||||
|
|
||||||
However, depending on the version of Docker some of the above suggestions may not work and you
|
|
||||||
have to get support from the docker/for-mac GitHub repository or forum.
|
|
||||||
|
|
||||||
.. seealso::
|
|
||||||
* https://github.com/cytopia/devilbox/issues/539
|
|
||||||
* https://github.com/docker/for-mac/issues/371#issuecomment-242047368
|
|
||||||
* https://forums.docker.com/t/no-space-left-on-device-error/10894
|
|
||||||
|
|
||||||
|
|
||||||
Address already in use
|
Address already in use
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
@ -308,22 +287,6 @@ To mitigate that issue, make sure that the ``swoole`` module is disabled in ``.e
|
|||||||
Database issues
|
Database issues
|
||||||
===============
|
===============
|
||||||
|
|
||||||
SQLSTATE[HY000] [1130] Host '172.16.238.10' is not allowed to connect to this MariaDB server
|
|
||||||
--------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
.. seealso:: :ref:`troubleshooting_cant_connect_to_mysql_adter_restart`
|
|
||||||
|
|
||||||
.. _troubleshooting_cant_connect_to_mysql_adter_restart:
|
|
||||||
|
|
||||||
Cannot connect to MySQL after restart
|
|
||||||
-------------------------------------
|
|
||||||
|
|
||||||
This error usually occurs when you import a MySQL dump including the mysql database itself, which
|
|
||||||
will overwrite the user permissions and thus you won't be able to connect anymore with the settings
|
|
||||||
specified in ``.env``.
|
|
||||||
|
|
||||||
.. seealso:: https://github.com/cytopia/devilbox/issues/542
|
|
||||||
|
|
||||||
Invalid bind mount spec
|
Invalid bind mount spec
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user