TL;DR: 当post-install脚本无法查看MySQL服务器时,composer install会失败。
我正在构建一个用于Symfony应用程序的Docker容器,在构建过程中,我执行了以下操作。
在安装接近尾声时,出现以下错误:
我正在构建一个用于Symfony应用程序的Docker容器,在构建过程中,我执行了以下操作。
RUN export SYMFONY_ENV=prod && \
composer install --prefer-dist --optimize-autoloader
在安装接近尾声时,出现以下错误:
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.
现在,我可以使用--no-scripts
,但是这样我可能需要在启动容器后再次运行composer install
,而我希望我的容器尽可能准备就绪。
由于我没有找到许多类似问题的参考资料,可能是我的应用程序有问题,我怀疑我会回答自己的问题。 我的希望是通过描述它来弄清楚。 不幸的是,我没有。 欢迎提供线索 :)