2015-12-14 3 views
1

Я новичок в Docker и пытаюсь настроить установку Drupal 7.Как подключить базу данных к примеру Dockerfile для Drupal 7?

Я побежал this example

# from https://www.drupal.org/requirements/php#drupalversions 
FROM php:5.6-apache 

RUN a2enmod rewrite 

# install the PHP extensions we need 
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \ 
    && rm -rf /var/lib/apt/lists/* \ 
    && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ 
    && docker-php-ext-install gd mbstring pdo pdo_mysql pdo_pgsql zip 

WORKDIR /var/www/html 

# https://www.drupal.org/node/3060/release 
ENV DRUPAL_VERSION 7.41 
ENV DRUPAL_MD5 7636e75e8be213455b4ac7911ce5801f 

RUN curl -fSL "http://ftp.drupal.org/files/projects/drupal-${DRUPAL_VERSION}.tar.gz" -o drupal.tar.gz \ 
    && echo "${DRUPAL_MD5} *drupal.tar.gz" | md5sum -c - \ 
    && tar -xz --strip-components=1 -f drupal.tar.gz \ 
    && rm drupal.tar.gz \ 
    && chown -R www-data:www-data sites 

, но я получаю эту ошибку при попытке подключения к базе данных.

Не удалось подключиться к серверу базы данных. Сервер сообщает следующее сообщение: SQLSTATE [HY000] [2002] Нет такого файла или каталога.

Нужно ли мне запускать контейнер MySQL? Я не совсем понимаю, как контейнеры «разговаривают друг с другом», т.е. если я использовал MySQL example, как бы я сказал моему контейнеру Drupal, чтобы использовать эту базу данных?

ответ

1

Если лучше всего настроить изображение drupal напрямую, а не его Dockerfile.
См. Drupal Full Description.

$ docker run --name some-drupal -p 8080:80 -d drupal 

Затем к нему доступ через http://localhost:8080 или http://host-ip:8080 в браузере.

Для использования его с базой данных, необходимо запустить контейнер базы данных первой, like mysql:

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 

Затем вы можете связать его с Друпал контейнера:

$ docker run --name some-drupal --link some-mysql:mysql -d drupal 
Смежные вопросы