如何将数据库连接到 Drupal 7 的 Dockerfile 示例?
How do I connect a database to the Dockerfile example for Drupal 7?
我是 运行Docker 的新手,正在尝试安装 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
但是我在尝试连接到数据库时遇到此错误。
Failed to connect to your database server. The server reports the
following message: SQLSTATE[HY000] [2002] No such file or directory.
我还需要 运行 一个 MySQL 容器吗?我不完全理解容器 "talk to one another",即。如果我使用 MySQL example 我将如何告诉我的 Drupal 容器使用该数据库?
如果最好直接调整 drupal 图像,而不是它的 Dockerfile。
见 Drupal Full Description.
$ docker run --name some-drupal -p 8080:80 -d drupal
Then, access it via http://localhost:8080 or http://host-ip:8080 in a browser.
要与数据库一起使用,您需要先运行一个数据库容器,like mysql:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
然后你可以link它到一个drupal容器:
$ docker run --name some-drupal --link some-mysql:mysql -d drupal
我是 运行Docker 的新手,正在尝试安装 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
但是我在尝试连接到数据库时遇到此错误。
Failed to connect to your database server. The server reports the following message: SQLSTATE[HY000] [2002] No such file or directory.
我还需要 运行 一个 MySQL 容器吗?我不完全理解容器 "talk to one another",即。如果我使用 MySQL example 我将如何告诉我的 Drupal 容器使用该数据库?
如果最好直接调整 drupal 图像,而不是它的 Dockerfile。
见 Drupal Full Description.
$ docker run --name some-drupal -p 8080:80 -d drupal
Then, access it via http://localhost:8080 or http://host-ip:8080 in a browser.
要与数据库一起使用,您需要先运行一个数据库容器,like mysql:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
然后你可以link它到一个drupal容器:
$ docker run --name some-drupal --link some-mysql:mysql -d drupal