php – 无法看到mysql数据库时,composer安装失败

TL; DR:当安装后脚本无法看到MySQL服务器时,composer安装失败

我正在为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,并且我希望我的容器尽可能准备好.

由于我没有找到很多类似问题的引用,我的应用程序中可能存在一些错误,我怀疑我会回答我自己的问题.我希望在描述它时,我会弄明白.唉,我没有.欢迎提供线索:)

Doctrine引入了一些代码,这些代码试图非常热切地自动检测数据库内容.

解决方法只是告诉Doctrine目标服务器版本,例如:

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                dbname:   Symfony2
                user:         root
                password: null
                host:         localhost
                driver:       pdo_MysqL
                server_version: 5.6

https://github.com/doctrine/DoctrineBundle/issues/351#issuecomment-75456547

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...