如何将数据库连接到Drupal 7的Dockerfile示例?

我是全新的Docker,并且正在尝试设置Drupal 7安装。

我跑这个例子

# 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示例,我将如何告诉我的Drupal容器使用该数据库?

如果最好直接调用drupal图像,而不是它的Dockerfile。
请参阅Drupal完整描述 。

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

然后,在浏览器中通过http:// localhost:8080或http:// host-ip:8080访问它。

为了在数据库中使用它,首先需要运行一个数据库容器, 比如mysql :

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

然后你可以把它链接到一个drupal容器:

 $ docker run --name some-drupal --link some-mysql:mysql -d drupal