• new icon Created a separate package to deliver Cloud Docker for Commerce—Moved the source code to deliver Cloud Docker for Commerce from the ece-tools repository to the new magento-cloud-docker repository to maintain code quality and provide independent releases. The new package is a dependency for ECE-Tools v2002.1.0 and later.

    When you update ece-tools, you also update the magento/magento-cloud-docker package to version 1.0.0. If you used Cloud Docker for Commerce with an earlier ece-tools release (2002.0.x), review the backward incompatibilities and update your project as scripts, commands, and processes as needed.

  • new icon Added versioning to the Docker images—You must now update the magento/magento-cloud-docker package to get the updated images.

  • new icon Container updates

    • new icon PHP-FPM container

      • new icon Added Node.js support—Updated the PHP-FPM image to support node, npm, and the grunt-cli capabilities inside the PHP container.

      • new icon Added support for ionCube—Updated the default Docker configuration to support ionCube in the local Docker development environment.

    • new icon Web container

      • new icon Customize NGINX configuration—Added the capability to mount a custom nginx.conf file to the Cloud Docker for Commerce environment. See Web container.

      • new icon Auto-generated NGINX certificates—The Docker configuration file now includes the configuration to auto-generate NGINX certificates for the Web container.

    • new icon New Selenium container—Added a Selenium container to support Adobe Commerce application testing using the Magento Functional Testing Framework (MFTF).

    • new icon RabbitMQ version support—Updated the RabbitMQ container configuration to support RabbitMQ version 3.8.

    • fix icon Persistent database container—The magento-db: /var/lib/mysql database volume now persists after you stop and remove the Docker configuration and restores when you restart the Docker configuration. Now, you must manually delete the database volume. See [Database containers].

    • new icon TLS container

      • new icon Updated the container base image to use official image—The Cloud TLS container image is now based on the official debian:jessie Docker image.—

      • new icon Added support for the [Pound TLS Termination Proxy]—The Pound configuration file adds the following ENV variables to customize the Docker configuration for the TLS container:

        • TimeOut—Sets the Time to First Byte (TTFB) timeout value. The default value is 300 seconds.

        • RewriteLocation—Determines whether the Pound proxy rewrites the location to the request URL by default. Defaults to 0 to prevent the rewrite from breaking redirects to outside websites like an external SSO site. Fix submitted by Sorin Sugar

      • new icon Increased the timeout value in the TLS container configuration from 15 to 300 seconds. Fix submitted by Mathew Beane from Zilker Technology

    • new icon Varnish container

      • new icon Updated the container base image to use official image—The Cloud Varnish container is now based on the official centos Docker image.

      • new icon Improved default timeout configuration-Added .first_byte_timeout and .between_bytes_timeout configuration to the Varnish container. Both timeout values default to 300s (5 minutes). Fix submitted by Mathew Beane from Zilker Technology

      • fix icon Skip Varnish during Xdebug sessions—Updated the Varnish container configuration to return pass on requests received when Xdebug is enabled. In previous releases, you could not use Xdebug if the Docker environment included Varnish. Fix submitted by Mathew Beane from Zilker Technology.

  • new icon Docker configuration changes

    • new icon Manage mounts and volumes for your project—Added the ability to manage mounts and volumes when launching a Docker environment for local development. See [Sharing project data].

    • new icon Support for network bridge mode—Added support for network bridge mode to enable connections between Docker containers over the local network.

    • new icon Cron container disabled by default—To improve performance, the Cron container is no longer configured by default when you build the Docker environment. You can use the --with-cron option on the Docker build command to add a Cron container to your environment. See Managing cron jobs.

    • new icon Stop synchronizing large backup files—Added DB dumps and archive files—ZIP, SQL, GZ, and BZ2—to the exclusion list in the dist/docker-sync.yml and dist/mutagen.sh files. Synchronizing large files (>1 GB) can cause a period of inactivity and backup files do not normally require synchronization since you can regenerate them.

  • new icon Command changes

    • fix icon Renamed the ./bin/docker file to ./bin/magento-docker to fix an issue that caused some Docker environments to break because the ./bin/docker file overwrites existing Docker binary files. This is a backward incompatible change that requires updates to your scripts and commands.

    • new icon Added a service configuration option to expose the database port to the host—Use the --expose-db-port= [Fix submitted by Adarsh Manickam from Zilker Technology](https://github.com/magento/magento-cloud-docker/pull/101).<PORT> option to expose the database port to the host when building the docker-compose.yml file: bin/ece-docker build:compose --expose-db-port=<PORT>

    • new icon New post-deploy command—Previously, the post-deploy hooks defined in the .magento.app.yaml file ran automatically after you deployed Adobe Commerce to a Cloud Docker container using the cloud-deploy command. Now, you must issue a separate cloud-post-deploy command to run the post-deploy hooks after you deploy. See the updated launch instructions for developer and production mode.

    • new icon Added the --rm option to ./bin/magento-docker commands for the build and deploy containers. This removes the container after the task is complete.

    • new icon Updates to build:compose command

      • new icon Added the --sync-engine="native" option to the docker-build command to disable file synchronization when you generate the Docker Compose configuration file in developer mode. Use this option when developing on Linux systems, which do not require file synchronization for local Docker development. See Synchronizing data in the Docker environment.
    • new icon Changed the default file synchronization setting from docker-sync to native. Fix submitted by Mathew Beane from Zilker Technology.

  • new icon Validation improvements

    • new icon Added validation to the deployment process for local Docker development environments to verify that the Cloud environment configuration includes the encryption key required to decrypt the database. Now, you get an error message in the log if the environment configuration does not specify a value for the encryption key.

    • new icon Added a container health check to the Elasticsearch service to ensure that the service is ready before continuing with build and deploy processing. If the health check returns an error, the container restarts automatically.

recommendation-more-help