You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 19, 2024. It is now read-only.
Updated Cloud Docker container info and clean up markdown (#8216)
* Added documentation for TLS implementation change:
* Added TLS docker image change from Centos to NGINX
* Updated service containers table with TLS update and added missing
Xdebug and MailHog containers
* Added current info for mailhog and tls containers
* Update src/cloud/docker/docker-containers-service.md
* Updates based on review feedback and cleanup
- Fix information about the `--tls-port` option.
- Add missing options to Docker launch topics and clean up markdown
- Clean up containers topic - Indicate node container is optional,
table clean up
Clean up service and cli containers topics - update node container
description, fix TLS container description
- Update the Xdebug topic with current local configuration for
MailHog container
Co-authored-by: hguthrie <hguthrie@users.noreply.github.com>
Copy file name to clipboardExpand all lines: src/_includes/cloud/cloud-docker-config-generator-cmds.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -21,4 +21,4 @@ php ./vendor/bin/ece-docker list
21
21
```
22
22
23
23
{:.bs-callout-info}
24
-
The `ece-docker build:compose` command runs in interactive mode and verifies the configured service versions. To skip interactive mode, use the `-n, --no-interaction` option.
24
+
The `ece-docker build:compose` command runs in interactive mode and verifies the configured service versions. To skip interactive mode, use the `-n, --no-interaction` option. For more information about `ece-docker build:compose` command options, see [Service configuration options]({{site.baseurl}}/cloud/docker/docker-containers.html#service-configuration-options).
Copy file name to clipboardExpand all lines: src/cloud/docker/docker-config.md
+2-17Lines changed: 2 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -130,23 +130,7 @@ echo "127.0.0.1 magento2.test" | sudo tee -a /etc/hosts
130
130
131
131
## Set up email
132
132
133
-
The default {{ site.data.var.mcd-prod }} configuration includes the [MailHog] service as a replacement for the Sendmail service. Sendmail can cause performance issues in the local Docker environment.
134
-
135
-
When the MailHog service is installed, go to the following URL to open the service and view outgoing emails: `http://magento2.docker:8025`
136
-
137
-
By default, MailHog listens on port 1025 for SMTP and port 8025 for the frontend dashboard and API. You can change the default ports using the `--mailhog-http-port` and `--mailhog-smtp-port` options.
After updating the configuration and restarting the Docker environment, you can connect to the MailHog service from `http://magento2.docker:8026`, and use port 1026 for SMTP communication.
144
-
145
-
If you do not need the [MailHog] service, use the `--no-mailhog` option to generate the Docker compose configuration:
The default {{ site.data.var.mcd-prod }} configuration includes the [MailHog] service as a replacement for the Sendmail service. Sendmail can cause performance issues in the local Docker environment. See [MailHog service].
150
134
151
135
[php]: https://www.php.net/manual/en/install.php
152
136
[Composer]: https://getcomposer.org
@@ -161,3 +145,4 @@ If you do not need the [MailHog] service, use the `--no-mailhog` option to gener
Copy file name to clipboardExpand all lines: src/cloud/docker/docker-containers-cli.md
+11-2Lines changed: 11 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -68,12 +68,15 @@ docker-compose run --rm build magento-command setup:static-content:deploy
68
68
69
69
The Cron container runs operations in the background immediately after the Docker environment starts. This container uses the cron configuration defined in the [`crons` property of the `.magento.app.yaml` file]({{ site.baseurl }}/cloud/project/magento-app-properties.html#crons). This container has no custom configuration.
70
70
71
+
{:.bs-callout-info}
72
+
To improve overall performance in the local Docker environment, the Cron container is not present by default. You can use the following command to add the Cron container to the Cloud Docker environment: `./vendor/bin/ece-docker build:compose --mode="developer" --with-cron`
73
+
71
74
For details on managing cron jobs in the Cloud Docker environment, see [Manage cron jobs].
72
75
73
76
## Deploy container
74
77
75
78
**Container name**: deploy<br/>
76
-
Docker base image: [magento/magento-cloud-docker-php], which is based on the [php] Docker image<br/>
79
+
**Docker base image**: [magento/magento-cloud-docker-php], which is based on the [php] Docker image<br/>
77
80
78
81
The Deploy container mimics the Magento Cloud deploy process so that testing the build and deploy process is as close to testing in production as possible.
79
82
@@ -90,6 +93,12 @@ docker-compose run --rm deploy magento-command index:reindex
90
93
91
94
The Node container is based on the [official Node Docker image][node]. You can use the container to install NPM dependencies, such as Gulp, or run any Node-based command line tools.
92
95
96
+
To add the Node container to the Docker environment, you must specify the Node version to install:
See [Important Elasticsearch configuration][] in the Elasticsearch documentation for details about available configuration options.
73
+
See [Important Elasticsearch configuration] in the Elasticsearch documentation for details about available configuration options.
74
74
75
75
{:.bs-callout-info}
76
76
If your Cloud project uses Magento version 2.3.5 or earlier with MySQL search, add the `--no-es` option to skip the Elasticsearch container configuration when you generate the Docker Compose configuration file: `ece-docker build:compose --no-es`.
@@ -150,7 +150,29 @@ If you use the `docker-sync` or `mutagen` file synchronization options, the `php
150
150
151
151
You can add custom PHP extensions and manage their status from the `runtime` section of the `.magento.app.yaml` file. See [PHP extensions]. To test custom extensions without updating the {{site.data.var.ece}} environment configuration, you can add the custom configuration to the [`docker-compose.override.yml`][Docker override file]. Configuration settings in this file are applied only when you build and deploy to the Docker environment.
152
152
153
-
Optionally, you can add Xdebug to your Cloud Docker environment to debug your PHP code. See [Configure XDebug for Docker][].
153
+
Optionally, you can add Xdebug to your Cloud Docker environment to debug your PHP code. See [Configure XDebug for Docker].
154
+
155
+
## MailHog container
156
+
157
+
**Container name**: mailhog<br/>
158
+
**Docker base image**: [mailhog]<br/>
159
+
**Ports**: SMTP:`1025`, HTTP:`8025`
160
+
161
+
The default Magento Cloud Docker configuration includes the MailHog service as a replacement for the Sendmail service. Sendmail can cause performance issues in the local Docker environment.
162
+
163
+
By default, MailHog listens on port 1025 for SMTP and port 8025 for the frontend dashboard and API (HTTP). You can change the default ports using the `--mailhog-http-port` and `--mailhog-smtp-port` options. When you build the Docker compose configuration, you can change the default ports:
After updating the configuration and restarting the Docker environment, you can connect to the MailHog service from `http://magento2.docker:8026`, and use port 1026 for SMTP communication.
170
+
171
+
If needed, you can disable the MailHog service when you generate the Docker compose configuration:
To increase the timeout on this container, add the following code to the `docker-compose.override.yml` file:
202
232
203
233
```yaml
@@ -210,7 +240,6 @@ To increase the timeout on this container, add the following code to the `docke
210
240
211
241
**Container name**: varnish<br/>
212
242
**Docker base image**: [magento/magento-cloud-docker-varnish][varnish], based on the [centos] Docker image<br>
213
-
**Ports exposed**: `80`<br/>
214
243
215
244
The Varnish container simulates Fastly and is useful for testing VCL snippets.
216
245
@@ -219,7 +248,7 @@ The **Varnish** service is installed by default. When deployment completes, Mage
219
248
In some cases, you might require a Docker environment without Varnish, for example to debug or run performance tests. You can generate the Docker Compose configuration without Varnish by adding the `--no-varnish` option to the `ece-docker build:compose` command.
You can specify `VARNISHD_PARAMS` and other environment variables using ENV to specify custom values for required parameters. This is usually done by adding the configuration to the `docker-compose.override.yml` file.
@@ -280,6 +309,8 @@ To mount the custom index.php file using volumes:
Copy file name to clipboardExpand all lines: src/cloud/docker/docker-containers.md
+18-10Lines changed: 18 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -15,12 +15,13 @@ The [`{{site.data.var.mcd-package}}` repository][docker-repo] contains build inf
15
15
16
16
The following CLI containers, most of which are based on a PHP-CLI version 7 Docker image, provide `magento-cloud` and `ece-tools` commands to perform file system operations and interact with the application:
17
17
18
-
| Name | Service | Key | Available Versions | Notes
18
+
{: .docker-cli-container-table}
19
+
| Name | Service | Key & options | Available Versions | Notes
| [db] | MariaDB or MySQL<br> | `--db`, `--db-image` (MySQL)<br>`--expose-db-port`<br>`--db-increment`<br>`--db-offset`<br>`--with-entrypoint`<br>`--with-mariadb-config`|10.0, 10.1, 10.2<br>5.6, 5.7 | Use the increment and offset options to customize the [auto-increment settings][Using AUTO_INCREMENT] for replication.<br><br>Use the `--with-entrypoint` and `--with-mariadb-config` options to automatically configure database directories in the Docker environment<br><br>*Example build commands:*<br>`ece-docker build:compose --db <mariadb-version>`<br>`ece-docker build:compose --db <mysql-version> --db-image`
46
47
| [elasticsearch] | Elasticsearch | `--es`<br>`--es-env-var`<br>`--no-es` | 1.7, 2.4, 5.2, 6.5, 6.8, 7.5, 7.6, 7.7 | Use the options to specify the Elasticsearch version, customize Elasticsearch configuration options, or to build a Docker environment without Elasticsearch.
47
-
| [FPM][fpm-container] | PHP FPM | `--php`<br>`--with-xdebug` | 7.0, 7.1, 7.2, 7.3, 7.4 | Used for all incoming requests. Optionally, add Xdebug configuration to debug PHP code in the Docker environment.
48
-
| [node][node-container] | Node | `--node` | 6, 8, 10, 11 | Used gulp or other NPM based commands
| [fpm][fpm-container] | PHP FPM | `--php`<br>`--with-xdebug` | 7.0, 7.1, 7.2, 7.3, 7.4 | Used for all incoming requests. Optionally, install a specific php version or add Xdebug to debug PHP code in the Docker environment.
49
+
| [fpm_xdebug][fpm_xdebug-container] | Xdebug | `--set-docker-host` | latest | Optional container for PHP debugging<br>On Linux systems, `--set-docker-host` sets the `.host.docker.internal` value in the container `/etc/hosts` file.
50
+
| [mailhog][mailhog-container] | MailHog | `--no-mailhog`<br>`--mailhog-http-port`<br>`--mailhog-smtp-port` | latest | Email service to replace Sendmail service, which can cause issues in Docker environment
51
+
| [node][node-container] | Node | `--node` | 6, 8, 10, 11 | Node container to run gulp or other NPM based commands in the Docker environment. Use the `--node` option to install a specific node version.
52
+
| [rabbitmq][rabbitmq-container]| RabbitMQ | `--rmq` | 3.5, 3.7, 3.8 | Use the `--rmq` option to install a specific RabbitMQ version.
| [selenium][selenium-container]| Selenium | `--with-selenium`<br>`--selenium-version`<br>`--selenium-image`| Any | Enables Magento application testing using the Magento Functional Testing Framework (MFTF)
52
-
| [test][test-container]| PHP CLI | `--with-test`| Any | Container with a writable file system for running tests
53
-
| [tls][tls-container] | SSL Endpoint | | | Terminates SSL, can be configured to pass to varnish or nginx
54
-
| [varnish][varnish-container] | Varnish | `--no-varnish` | 4, 6.2 | Varnish is provisioned by default. Use the `--no-varnish` option to skip Varnish service installation
| [test][test-container]| PHP CLI | `--with-test`| Any | Optional container with a writable file system for running tests
56
+
| [tls][tls-container] | SSL Endpoint | `--tls-port` | nginx 1.19-1.2.0, latest | Terminates SSL, can be configured to pass to varnish or nginx. Use the `--tls-port` option to change the default port (443).
57
+
| [varnish][varnish-container] | Varnish | `--no-varnish` | 4, 6.2 | Varnish is provisioned by default. Use the `--no-varnish` option to skip Varnish service installation.
58
+
| [web][web-container] | NGINX | `--nginx` | 1.19-1.2.0, latest | Use the `--nginx` option to install a specific nginx version.
56
59
57
60
Use the following command to view all available options for the `ece-docker build:compose` command:
58
61
@@ -153,9 +156,11 @@ Now you can see all requests that are passing through the TLS container and chec
0 commit comments