Production mode

Production mode is the default configuration setting for launching the Docker environment with read-only filesystem permissions. This option builds the Docker environment in production mode and verifies configured service versions.

See Configure Docker for additional information about Docker prerequisites and using the Magento Cloud Docker environment.

To launch the Docker environment in production mode:

  1. Download a Magento application template from the Magento Cloud repository. Be careful to select the branch that corresponds with the Magento version.

  2. Add your Magento access credentials to the auth.json file.

  3. Install the template dependencies and add the default hostname to your /etc/hosts file, use the following command to run the Docker initialization script:

    curl | bash

    If required, you can add options to the initialization script to customize your Docker environment. Run the following command to see the available options:

    curl | bash -s -- --help
  4. In your local environment, start the Docker configuration generator. You can use the service keys, such as --php, to specify a version.

    ./vendor/bin/ece-docker build:compose
  5. Optional: If you have a custom PHP configuration file, copy the default configuration DIST file to your custom configuration file and make any necessary changes.

    cp .docker/config.php.dist .docker/config.php
  6. Build files to containers and run in the background.

    docker-compose up -d
  7. Install Magento in your Docker environment.

    • Build Magento in the Docker container.

      docker-compose run build cloud-build
    • Deploy Magento in the Docker container.

      docker-compose run deploy cloud-deploy
    • Run post-deploy hooks.

      docker-compose run deploy cloud-post-deploy
  8. Configure and connect Varnish.

    docker-compose run deploy magento-command config:set system/full_page_cache/caching_application 2 --lock-env
    docker-compose run deploy magento-command setup:config:set --http-cache-hosts=varnish
  9. Clear the cache.

    docker-compose run deploy magento-command cache:clean
  10. Optional: Restart services if the static content does not synchronize with all images after generation on build phase.

    docker-compose restart
  11. Access the local Magento Cloud template by opening one of the following URLs in a browser: