2017-01-03 127 views
1

我有php5.6-apache鏡像建立在ubuntu和mysql:5.6鏡像。我想從兩張圖像上面創建碼頭圖像,以便我可以使用gitlab ci中的新建圖像。我怎樣才能做到這一點?我對docker和gitlab相當陌生。用php和mysql創建docker鏡像

我在gitlab中試過,但沒有奏效。

image: viraths/php5.6-apache:latest 

stages: 
    - build 
    - test 

deps build: 
    stage: build 
    variables: 
    MYSQL_DATABASE: test 
    MYSQL_ROOT_PASSWORD: password 
    DNSDOCK_ALIAS: localhost 
    services: 
    - mysql:5.6 
    script: 
    - export APPLICATION_ENV=test 
    - if [ -f /.dockerinit ]; then export COMPOSER_HOME=/cache/composer; fi; 
    - php -v 
    - composer install --no-progress --no-interaction --prefer-dist 
    artifacts: 
    paths: 
     - vendor/ 
    expire_in: 1 week 
    tags: 
    - docker 

在gitlab ci中運行composer安裝時出現以下錯誤。

[Doctrine\DBAL\Exception\ConnectionException]         
An exception occured in driver: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 
+0

你使用的是Linux嗎? –

+0

@SoniVimal yes ubuntu willy – Viraths

+0

也許對你有幫助:http://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysq –

回答

2

您沒有正確配置數據庫。通過您的配置,mysql可在主機mysql和端口3306上使用。相反,您的應用程序正在通過unix套接字嘗試本地連接。配置連接,所有應該工作。

+0

你能否給我提供一個例子。 – Viraths

+0

不,我恐怕我不能告訴你如何改變我沒見過的應用程序的配置。我想你使用Symfony,所以只需按照指南:https://symfony.com/doc/current/doctrine.html否則只是grep的主機。 –

+0

謝謝你,工作。我只是改變了我的parameters.yml.dist文件,如下所示。 參數: database_host:mysql database_port:3306 – Viraths

相關問題