magento / magento-cloud-docker

All Submissions you make to Magento Inc. (“Magento") through GitHub are subject to the following terms and conditions: (1) You grant Magento a perpetual, worldwide, non-exclusive, no charge, royalty free, irrevocable license under your applicable copyrights and patents to reproduce, prepare derivative works of, display, publically perform, sublicense and distribute any feedback, ideas, code, or other information (“Submission") you submit through GitHub. (2) Your Submission is an original work of authorship and you are the owner or are legally entitled to grant the license stated above. (3) You agree to the Contributor License Agreement found here: https://github.com/magento/magento2/blob/master/CONTRIBUTOR_LICENSE_AGREEMENT.html
Open Software License 3.0
254 stars 191 forks source link

Cannot override PHP_EXTENSIONS environment variable #351

Open Axel29 opened 2 years ago

Axel29 commented 2 years ago

Preconditions

  1. Generate a docker-compose.yml file with the following command: ./vendor/bin/ece-docker 'build:compose' --with-entrypoint --with-xdebug --set-docker-host --no-os --db='10.4' --php='7.4' --redis='6.0' --expose-db-port=3307 --mode=developer --sync-engine=native --es='7.11' --rmq='3.9''

Steps to reproduce

  1. Create a docker-compose.override.yml file
  2. Override the generic service environment variables to add imagick to the PHP_EXTENSIONS list
  3. Log into the container with bin/magento-docker bash
  4. Output the environment variable with a echo $PHP_EXTENSIONS

Expected result

  1. The PHP_EXTENSIONS should contain imagick

Actual result

  1. The PHP_EXTENSIONS matches the docker-compose.yml file and not the overridden one.

Additional information

If the docker-compose.yml file is updated to add imagick, then it works, which proves that the docker-compose.override.yml isn't taken into account for these environment variable.

I also had the same issue with the SENDMAIL_PATH=/usr/local/bin/mhsendmail --smtp-addr=mailhog:1025 environment variable that I was forced to declare in the original docker-compose.yml as it wasn't working if declared in the docker-compose.override.yml file...

BaDos commented 2 years ago

The internal task MCLOUD-9243 was created