Sylius / Sylius-Standard

Open Source eCommerce Application on top of Symfony
https://sylius.com
MIT License
242 stars 320 forks source link

Docker build, cache-clear excedeed timeout composer #882

Closed gabrielmustiere closed 1 year ago

gabrielmustiere commented 1 year ago

Sylius Standard 1.12 version, docker latest version.

Hello,

When I build sylius with docker and docker-compose.prod.yml, during the step of the cache-clear command launched by this (composer run-script post-install-cmd) :

RUN set -eux; \ mkdir -p var/cache var/log; \ composer dump-autoload --classmap-authoritative; \ APP_SECRET='' composer run-script post-install-cmd; \ chmod +x bin/console; sync; \ bin/console sylius:install:assets --no-interaction; \ bin/console sylius:theme:assets:install public --no-interaction

I have the cache-clear that grinds in the vacuum for a long time before being killed by a timeout error.

I'm trying to understand because I already succeeded to build once, but when I want to rebuild again docker-compose up -d --build, I have this error, I don't have the impression that it's really linked to the cache-clear, because when I cache clear in my php container previously build the c:c takes 15 seconds maximum.

Thank you for your help

gabrielmustiere commented 1 year ago

I take the liberty of relaunching the topic, am I the only one who has this timeout problem with the cache:clear during the build ?

gabrielmustiere commented 1 year ago

The problem came from the .env that was read by during the cache:clear and that contained database information that did not correspond to the production environment

BenWaNH commented 1 year ago

Hi @gabrielmustiere how did you fix your problem exactly, if you remember? I've the same issue with a timeout exceed when i docker compose up, when docker build php container at cache clear instant. Thanks

gabrielmustiere commented 1 year ago

Hi @BenWaNH , the problem was that during the build of the php container, the environment variables related to the database were not complete. So you have to provide the sgbd version information so that symfony doesn't try to contact the database.

See this issue.

https://github.com/symfony/symfony/issues/37473