TL; DR: kompozytor instalacja nie powiedzie się, gdy po zainstalowaniu skrypty nie widzi serwera MySQLkompozytor instalacja nie powiedzie się, gdy nie można zobaczyć w bazie mysql
buduję pojemnik Döcker dla aplikacji Symfony, i podczas kompilacji zrobić coś takiego
RUN export SYMFONY_ENV=prod && \
composer install --prefer-dist --optimize-autoloader
Pod koniec instalacji, nie jest on z tego
Generating optimized autoload files
[Doctrine\DBAL\Exception\DriverException]
An exception occured in driver: SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)
[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)
[PDOException]
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.
teraz mogłem u se --no-scripts
, ale prawdopodobnie po uruchomieniu kontenera będę musiał ponownie uruchomić composer install
i chciałbym, aby mój kontener był jak najbardziej gotowy.
Ponieważ nie znalazłem wielu odniesień do podobnych problemów, może być coś w mojej aplikacji z winy, i podejrzewam, że będę odpowiadał na moje własne pytanie. Miałem nadzieję, że opisując to, odkryję to. Niestety, nie mam. Wskazówki są mile widziane :)
nie używasz połączenia db w swoim projekcie? – Matteo
tak, ale nie jest znana/dostępna po zbudowaniu kontenera –
[tutaj] (https://speakerdeck.com/ubermuda/a-multi-container-symfony2-setup-with-docker?slide=31) pierwsza instalacja/uruchom usługi przed zadaniem kompozytora. Nadzieję, że ta pomoc – Matteo