title: Gitlab CI Symfony : SQLSTATE[HY000] [2002] Connection refused
body: <p>I use gitlab to run unit tests each time someone push the code. I get this error during composer installation.</p>
  
  <pre><code>&gt; Incenteev\ParameterHandler\ScriptHandler::buildParameters
  Creating the "app/config/parameters.yml" file
  &gt; Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
  &gt; Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
  
  
    [Doctrine\DBAL\Exception\ConnectionException]                              
    An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused  
  
  
  
    [Doctrine\DBAL\Driver\PDOException]        
    SQLSTATE[HY000] [2002] Connection refused  
  
  
  
    [PDOException]                             
    SQLSTATE[HY000] [2002] Connection refused  
  
  
  Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
  </code></pre>
  
  <p>Here is my configuration :</p>
  
  <p>.gitlab-ci.yml file</p>
  
  <pre><code>    # Select image from https://hub.docker.com/_/php/
      image: php:5.6
  
      # Select what we should cache
      cache:
        paths:
        - vendor/
  
      before_script:
      # Install ssh-agent if not already installed, it is required by Docker.
      # (change apt-get to yum if you use a CentOS-based image)
      - 'which ssh-agent || ( apt-get update -y &amp;&amp; apt-get install openssh-client -y )'
  
      #
  
   Run ssh-agent (inside the build environment)
  - eval $(ssh-agent -s)
  
  # Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
  - ssh-add &lt;(echo "$SSH_PRIVATE_KEY")
  
  # For Docker builds disable host key checking. Be aware that by adding that
  # you are suspectible to man-in-the-middle attacks.
  # WARNING: Use this only with the Docker executor, if you use it with shell
  # you will overwrite your user's SSH config.
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] &amp;&amp; echo -e "Host *\n\tStrictHostKeyChecking no\n\n" &gt; ~/.ssh/config'
  
  - cp ci/custom.ini /usr/local/etc/php/conf.d/custom.ini
  - bash ci/docker_install.sh &gt; /dev/null
  
  # Install composer
  - curl -sS https://getcomposer.org/installer | php
  
  services:
  - mysql:latest
  
  variables:
    # Configure mysql service (https://hub.docker.com/_/mysql/)
    MYSQL_DATABASE: symfony
    MYSQL_ROOT_PASSWORD: root
  
  # We test PHP5.6 (the default) with MySQL
  test:mysql:
    script:
    # Install all project dependencies
    - php composer.phar install
    - phpunit --coverage-text --colors=never -c app/
  </code></pre>
  
  <p>parameters.yml.dist</p>
  
  <pre><code>parameters:
      database_host:     127.0.0.1
      database_port:     ~
      database_name:     symfony
      database_user:     root
      database_password: root
  
      mailer_transport:  smtp
      mailer_host:       127.0.0.1
      mailer_user:       ~
      mailer_password:   ~
  
      # A secret key that's used to generate certain security-related tokens
      secret:            ThisTokenIsNotSoSecretChangeIt
  
      database_slave1_host: 127.0.0.1
      database_slave1_port: ~
      database_slave1_name: symfony
      database_slave1_user: root
      database_slave1_password: root
  </code></pre>
  
  <p>I have read and follow the instruction of the gitlab website. Maybe my mistake is obvious, but I can't see it.</p>