Cloud Docker package
The magento/magento-cloud-docker
package provides functionality and Docker images to deploy Adobe Commerce to a local Cloud environment. These release notes describe the latest improvements to this package, which is a component of Cloud Tools Suite for Commerce.
The magento/magento-cloud-docker
package uses the following version sequence: <major>.<minor>.<patch>
The release notes include:
- New features
- Fixes and improvements
v1.4.0 latest
Release date: October 7, 2024
- Refactored code—Removed support of old PHP versions (7.4, 7.3, 7.2) and related libraries and images.
v1.3.7
Release date: April 8, 2024
- PHP — Added support for PHP 8.3 and PHP 8.3 images.
- Nginx — Added image nginx v. 1.24.
- Opensearch - Added image OpenSearch v. 2.12, 1.3.
- Composer - Updated Composer version to 2.2.23.
v1.3.6
Release date: July 31, 2023
- Added new service version—OpenSearch 2.5.
- Enable Composer cache—Now you can extend the Docker configuration to enable Composer clear cache when starting the Docker container. See Extend the Docker configuration in the Cloud Docker for Commerce guide.
v1.3.5
Release date: March 10, 2023
- ionCube—Added the ionCube extension for the PHP 8.1 image.
- Added new service versions—OpenSearch 2.3 and 2.4, PHP 8.2, Varnish 7.1.1.
- Enhanced support for PHP 8.2—Fixed compatibility issues with certain PHP 8.2.x versions to support Commerce 2.4.6.
- Composer issue—Fixed issues that occurred after updating the Composer version within the Docker containers.
v1.3.4
Release date: October 27, 2022
- Added new Varnish images—Added images for Varnish 6.5, 7.0, and 7.1.
v1.3.3
Release date: September 13, 2022
- Apple M1 (ARM64) support—Added changes to Docker images to enable support for Apple M1 (ARM64) architecture.
- Mailhog—Fixed an issue where the Mailhog service did not catch emails while in developer mode.
-
init-docker.sh—Fixed the service versions validator in the
init-docker.sh
script.
v1.3.2
Release date: March 31, 2022
- Added Elasticsearch 7.10 image
v1.3.1
Release date: March 10, 2022
-
Support PHP 8.1—Added support for PHP 8.1.
-
OpenSearch—Added images of OpenSearch versions 1.1 and 1.2.
-
Composer 2.1—Set composer 2.1.x by default in PHP 8.x images.
-
PHP images improvements—
- Added PHP 8.1 images
- Upgraded xDebug version 3.1.2
- Upgraded xmlrpc 1.0.0RC3
-
Elasticsearch & OpenSearch improvements—Improvements in Elasticsearch and OpenSearch Dockerfiles; removed the Elasticsearch 5.2 image.
-
Sodium extension—Enabled the
sodium
extension by default in all PHP images. -
Composer cache volume—Fixed path for Composer cache volume to have cached Composer packages.
-
Memory limitation in nginx—Fixed limitation of memory in NGINX image.
v1.3.0
Release date: October 25, 2021
-
Improve Developer mode workflow—Previously, you needed to specify the mode in the build and deploy steps. Now, the
--mode
option in thebuild
step determines the mode in the laterdeploy
step. Setting the mode after the deployment is no longer required. See Developer mode. -
Improvements for read-only filesystem—
- Fix issue starting a PHP container for mail configuration.
- Can use environment variables in INI files.
- Ensure PHP entry points do not need write permission.
-
Update Node—Update the bundled Node version; when installing Node in PHP-CLI images, it now uses the current LTS version.
-
Update Symfony—Updated the Symfony config dependencies to be compatible with Adobe Commerce 2.4.4.
v1.2.4
Release date: July 29, 2021
-
New
Zookeeper
container—Added a Zookeeper container to manage lock provider configuration for projects that are not deployed to Adobe Commerce on Cloud infrastructure. -
Added support for Composer 2.0.—Added Composer version 2.0 to the Composer configuration file to support upgrades from Composer 1.0 which is approaching end-of-life.
v1.2.3
Release date: June 14, 2021
- Added PHP 8.0—Updated PHP to version 8.0, allowing you take advantage of all the new features and optimizations PHP 8.0 includes.
- Updated to Varnish 6.6 and Elasticsearch 7.11.2—The following links provide release information on Varnish Cache 6.6 and Elasticsearch 7.11.2.
-
Added
ioncube
extension for PHP 7.4 image—Theioncube
extension has been re-added to the PHP 7.4 image after having been initially excluded from the PHP 7.3 to PHP 7.4 upgrade. Submitted by mattskr. -
Added a file sync option:
manual-native
—Themanual-native
file synchronization option provides manual control over synchronization, which provides the best performance for macOS and Windows environments. Read about using themanual-native
option in Developer mode and Synchronizing data in a Docker developer environment. -
Removed volume deletions from
up
anddown
commands—The--volume
option was removed from thebin/magento-docker up
andbin/magento-docker down
commands, replaced by the newbin/magento-docker init
command with a data loss warning. This change helps prevent the accidental data loss. Submitted by joeshelton-wagento. -
Updated
CN
value for the generated certificate—Removed the hardcodedCN
value from the Dockerfile. This value created a certificate error (NET::ERR_CERT_INVALID
) that caused the--host
option for theece-docker build:compose
command to be ignored.
v1.2.2
Release date: April 20, 2021
-
Updated
host.docker.internal
to be platform independent—You can now create the same Docker Compose scripts for Ubuntu, Windows, and macOS. Using Xdebug on Ubuntu no longer requires a separate environment variable. Fix submitted by Igor Vitol. -
Updated init-docker.sh—Added the
mounts
object to theMAGENTO_CLOUD_APPLICATION
environment variable. Fix submitted by Chiranjeevi. -
Updated init-docker.sh—Updated the
init-docker.sh
script with PHP 7.4 and Cloud Docker 1.2.1 versions. Fix submitted by Adarsh Manickam. -
Sodium enabled by default—Enabled the
sodium
PHP extension by default within PHP Docker images. -
custom-registry
option—Added a--custom-registry
option tophp ./vendor/bin/ece-docker build:compose
command for using your own images registry.code language-bash ./vendor/bin/ece-docker build:compose --custom-registry=my-registry.example.com
-
Removed old Elasticsearch versions—Removed Elasticsearch versions 1.7 and 2.4 from the Elasticsearch images.
-
Auto-generating NGINX certificates—Removed the existing certificates from the NGINX image. The NGINX certificates are now auto-generated with each new deployment for improved security.
-
Enabled
opcache.validate_timestamps
—Enabled theopcache.validate_timestamps
PHP setting by default in developer mode. Enabling this setting fixed the issue where changes to the filesystem were not recognized in Docker. -
Fixed
build:custom:compose
—Fixed thebuild:custom:compose
command to throw an error when files cannot be overwritten during the build process. Throwing an error prevents situations wheredocker-compose up
could be using the wrong files. -
Fixed
--sync_engine="native"
option—Fixed the issue where in production mode (--mode="production"
), the--sync_engine="native"
option would not create any entries for local folders in thedocker.composer.yml
file. -
Fixed service version validation errors—Added service versions for RabbitMQ, Elasticsearch, and other services to the
type
property in theMAGENTO_CLOUD_RELATIONSHIP
variable. Adding these versions to therelationships
variable fixed the validation errors that occurred during the deploy phase.
v1.2.1
Release date: December 21, 2020
-
NGINX command options—Added build command options to change the number of NGINX
worker_processes
and NGINXworker_connections
for TLS and Web services. Theworker_process
parameter retains the ability to set the value toauto
. Examples:code language-bash ./vendor/bin/ece-docker build:compose --nginx-worker-processes=2 ./vendor/bin/ece-docker build:compose --nginx-worker-connections=2048
-
TLS command option—Added build command option to create a configuration without the TLS service. Example:
code language-bash ./vendor/bin/ece-docker build:compose --no-tls
-
NGINX memory consumption—Reduced the memory consumed by the NGINX process for TLS and Web services.
-
Blackfire—Disabled Blackfire PHP extension by default in the Cloud Docker image.
-
PHP-FPM container—Fixed PHP-FPM container health check by changing the
WEB_PORT
from80
to8080
. -
Invalid volume naming—Fixed an error with invalid volume naming in developer mode.
-
NGINX upstream port—Updated the Docker NGINX 1.19 image to use port 8080 to avoid an infinite loop. Fix submitted by Adarsh Manickam.
v1.2.0
Release date: November 9, 2020
-
Container updates—
-
PHP-FPM container—Added support for the gnupg PHP extension. Fix submitted by G Arvind from Zilker Technology.
-
Database container—Fixed the database container health check by adding the required database password to the health check command.
-
Elasticsearch container
-
Added support for Elasticsearch 7.9 for compatibility with upcoming Adobe Commerce releases.
-
Elasticsearch plugin configuration—Added support to use the Elasticsearch plugin configuration information from the
services.yaml
file to generate thedocker-compose.yaml
file for a Cloud Docker for Commerce environment. See Elasticsearch plugins. -
Elasticsearch plugin support—Added support for the following Elasticsearch plugins:
analysis-icu
,analysis-phonetic
,analysis-stempel
, andanalysis-nori
. Theanalysis-icu
andanalysis-phonetic
plugins are installed by default. You can add or remove theanalysis-stempel
andanalysis-nori
plugins as needed.
-
-
CLI container
-
Run commands inside Docker PHP containers—Now you can use the Cloud Docker CLI to run commands inside PHP containers in your Docker environment without having to install PHP on the host. For example, the following command builds the configuration:
./bin/magento-docker php 7.3 vendor/bin/ece-docker build:compose
. See Cloud Docker CLI. Fix submitted by G Arvind from Zilker Technology. -
Added the OpenSSH-client to PHP CLI containers. Now, you can use ssh-agent forwarding for Composer if the
composer.json
file contains private git repositories that require an ssh client to use Composer commands.
-
-
TLS container—Now, the TLS container is based on the
https://hub.docker.com/r/magento/magento-cloud-docker-nginx
Docker image instead of the CentOS image. This change fixes issues that caused errors when sending HTTPS requests between containers in the Cloud Docker environment. -
Test container—Added a test container for application testing, and added the
--with-test
option to the Dockerbuild:compose
command to create the container only when testing in the Docker environment. See application testing. -
FPM-XDEBUG container
-
Configure Xdebug on Linux—Added the
--set-docker-host
option to theece-docker build:compose
command to configure thehost.docker.internal
value in the Xdebug container. This option is required to use Xdebug on Linux systems. See Configure Xdebug for Docker. -
Fixed the Xdebug variable configuration for the Docker ENTRYPOINT to resolve
uninitialized "with_xdebug" variable
errors in the logs. Fix submitted by Florent Olivaud
-
-
-
Docker configuration changes
-
MailHog configuration—Now you can use the following
ece-docker build:compose
command options to disable MailHog and specify ports:--no-mailhog
,--mailhog-http-port
, and--mailhog-smtp-port
. See Set up email. -
For Cloud Docker for Commerce 1.2.0 and later, Adobe now provides Docker images for each patch version, and the Docker configuration generator creates the Docker configuration with a specified patch version instead of using the latest. Previously, the Docker configuration generator built the configuration using the latest patch version which could break Cloud Docker for Commerce environments built using an earlier version.
-
Specify custom images and versions in custom Cloud Docker configuration—Updated the
build:custom:compose
command with options to specify custom images and versions when generating a custom Docker compose configuration file (docker-compose.yaml
). See Build a custom Docker Compose configuration. -
Updated the Docker host configuration to expose port 443 to enable access to Adobe Commerce (
https://magento2.docker
) from all CLI containers. You can change the default port by adding the--tls-port
option when you generate the Docker configuration file.
-
-
Fixed an issue that caused the Cloud Docker for Commerce build to fail if the
app/etc/env.php
file exists. -
Updated the build configuration to replace named volumes with regular volumes to prevent issues when deploying Cloud Docker for Commerce on Linux or Windows Subsystem for Linux (WSL2).
-
Updated the Cloud Docker for Commerce functional tests to support Composer 2.0.
v1.1.2
Release date: September 9, 2020
- Added support for Elasticsearch 7.7
v1.1.1
Release date: August 5, 2020
-
Updated email configuration—Updated the default Cloud Docker for Commerce configuration to support the MailHog service instead of using SendMail. See Set up email.
-
Restored the PS library to the Cloud Docker environment configuration to fix
ps: command not found
errors. -
Updated the default Cloud Docker for Commerce configuration to remove automatic mounting of the database entrypoint and MariaDB volumes to fix
Cannot create container for service db
errors that can occur when starting your Cloud Docker environment.Now, you can configure the Cloud Docker environment to mount the database directories by adding the following options to the
ece-docker build:compose
command:--with-entry-point
andwith-mariadb-conf
. See Service configuration options. -
CLI command updates
./vendor/bin/ece-docker build:compose --db --with-entrypoint
./vendor/bin/ece-docker build:compose --db --mariadb-conf
v1.1.0
Release date: June 25, 2020
-
Added support for the split database performance solution—Now you can configure and deploy a store using the Split database performance solution in the Cloud Docker environment.
-
Support for Adobe Commerce and Magento Open Source deployment—Now you can use Cloud Docker for Commerce to deploy a local development environment for projects that are not hosted on Adobe Commerce on cloud infrastructure.
-
Blackfire.io support—Added support to use the Blackfire.io extension for automated performance testing. Fix submitted by Adarsh Manickam from Zilker Technology
-
Container updates
-
Varnish—Now Varnish is the default cache when you deploy Adobe Commerce in a Cloud Docker environment using a supported version of the Cloud application template. See Varnish container.
-
Added the
--no-varnish
option to skip Varnish service installation when you generate the Cloud Docker configuration file. -
Database
-
Added the support for the MySQL database. Now, you can configure the Cloud Docker environment with either MariaDB or MySQL. See Service configuration options.
-
Added the ability to set the increment and offset settings for database replication when you generate the Docker compose file. See Service containers.
-
-
PHP-FPM
-
Added support for PHP 7.4. Fix submitted by Mohanela Murugan from Zilker Technology
-
Added ability to copy a
php.ini
file in the root project directory to the Cloud Docker environment and apply custom PHP settings to the PHP-FPM and CLI containers. See Customize PHP settings. Fix submitted by Mathew Beane from Zilker Technology. -
Added a container health check. Fix submitted by Visanth Sampath from Zilker Technology.
-
-
Node.js—Updated the default Node.js version from version 8 to version 10 to improve security. Node.js version 8 is deprecated and no longer updated with bug fixes or security patches. Fix submitted by Mohan Elamurugan from Zilker Technology.
-
Elasticsearch
-
Added support for Elasticsearch 6.8, 7.2, 7.5, and 7.6.
-
Added the ability to customize the Elasticsearch container configuration when you generate the Docker compose configuration file.
-
Added the
--no-es
option to the service configuration options for generating the Docker Compose configuration file. Use this option to skip the Elasticsearch container installation and use MySQL search instead. This option is supported only for Adobe Commerce versions 2.3.5 and earlier.
-
-
FPM-XDEBUG container—Added a service configuration option to install and configure Xdebug for debugging PHP in your Cloud Docker environment. See Configure Xdebug.
-
-
Docker configuration changes
-
Added health checks for the PHP-FPM, Redis, Elasticsearch, and MySQL Docker service containers.
-
Changed the default file synchronization mode to
native
in Developer mode. -
Added version information to the generic Docker service container image when generating the
docker-compose.yml
file. -
Improved ability to handle large responses from the upstream PHP-FPM container by increasing the
fastcgi_buffers
value for the Nginx server. -
Improved mutagen file synchronization performance by adding a second sync session to synchronize files in the
vendor
directory. This change prevents mutagen from getting stuck during the file synchronization process. Fix submitted by Mathew Beane from Zilker Technology. -
CLI command updates
-
bin/magento-docker flush-redis
bin/magento-docker flush-varnish
.vendor/bin/ece-docker build:compose --no-varnish
.vendor/bin/ece-docker build:compose --es-env-var
.vendor/bin/ece-docker build:compose --no-es
./vendor/bin/ece-docker build:compose --db <mysql-version-number> --db-image mysql
./vendor/bin/ece-docker build:compose --host=<hostname> --port=<port-number>
.vendor/bin/ece-docker build:compose --mode developer --sync-engine native --with-xdebug
-
Fixed the configuration of mutagen file synchronization to prevent mutagen from creating stale sessions. Fix submitted by Mathew Beane from Zilker Technology.
-
Fixed a configuration issue that caused syntax errors in the Docker compose log when starting the PHP-FPM container. Fix submitted by Mathew Beane from Zilker Technology
-
Fixed volume conflict errors that sometimes occurred when using multiple Docker environments. Fix submitted by G Arvind from Zilker Technology.
-
Fixed an issue that caused the
ece-docker build:compose
command to fail if the configuration included Blackfire.io. Fix submitted by G Arvind from Zilker Technology. -
Updated the PHP CLI image configuration to prevent out-of-memory errors that occurred when installing multiple packages using Cloud Docker for Commerce. Fix submitted by Mohan Elamurugan from Zilker Technology.*
-
Added support for multiple MySQL users in the Cloud Docker environment. In earlier releases, the
build:compose
operation failed if themagento.app.yaml
file specified multiple database users. Fix submitted by G Arvind from Zilker Technology. -
Removed
rsyslog
from the Cloud Docker for Commerce PHP containers to resolve compatibility issues that caused warning notifications during deployment. Cloud Docker does not use the rsyslog utility.
v1.0.0
Release date: Feb 5, 2020