2017-01-06 7 views
2

Новое для Docker, и я пытаюсь создать среду разработки в проекте Drupal 7. Я бегу в эту ошибку, когда я посещаю localhost:8080 после запуска docker-compose up:Ошибка подключения базы данных Drupal с помощью Docker - SQLSTATE [HY000] [2002]

Error 

The website encountered an unexpected error. Please try again later. 
Error messagePDOException: SQLSTATE[HY000] [2002] No such file or directory in lock_may_be_available() (line 167 of /var/www/html/includes/lock.inc). 

Похоже, это возникли проблемы с подключением к моей базе данных. Когда я запускаю docker ps -a, я вижу, что мои 2 контейнера запущены и работают, поэтому они кажутся очень хорошими. Моя проблема заключается только в подключении моего контейнера drupal к контейнеру mysql.

Вот мой докер-compose.yml файл:

version: '2' 

services: 

    drupal: 
    image: drupal:7.53-apache 
    container_name: app 
    volumes: 
     - ./:/var/www/html 
    ports: 
     - '8080:80' 
    links: 
     - mysql 

    mysql: 
    image: mysql:5.6.35 
    container_name: app_db 
    environment: 
     MYSQL_ROOT_PASSWORD: root 
     MYSQL_USER: root 
     MYSQL_PASSWORD: root 
     MYSQL_DATABASE: testdb 

ли я с видом на что-то еще, что бы соединить эти два контейнера? Всем приветствуется всяческая помощь. Благодаря!

ответ

0

попытайтесь сопоставить правильные порты и php DATABASE_HOST. для меня это работает:

db: 
    image: dev/mysql 
    ports: 
     - "3306:3306" 
    environment: 
     MYSQL_DATABASE: testdb 
     MYSQL_USER: root 
     MYSQL_PASSWORD: root 
php: 
    image: dev/alpine-nginx-php5.6 
    environment: 
     DATABASE_HOST: db 
    ports: 
     - "80:80" 
     - "443:443" 
    volumes: 
     - ./SRC:/var/www/ 
    links: 
     - db 

но я бы предложил хранить вашу базу данных за пределами контейнера-докера. если вам нужно перестроить или у вас есть фатальный сбой, все будет удалено.

+0

@hidace, прежде чем я забуду спросить: вы изменили свой конфиг в settings.php внутри drupal. вам нужно использовать «host» => «db» или в вашем случае «host» => «mysql» + все учетные данные – Gabbax0r