【问题标题】:How do I connect a database to the Dockerfile example for Drupal 7?如何将数据库连接到 Drupal 7 的 Dockerfile 示例?
【发布时间】:2015-12-14 05:37:56
【问题描述】:

我是 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

但在尝试连接数据库时出现此错误。

无法连接到您的数据库服务器。服务器报告 以下消息:SQLSTATE[HY000] [2002] 没有这样的文件或目录。

我还需要运行 MySQL 容器吗?我不完全理解容器如何“相互交谈”,即。如果我使用MySQL example,我将如何告诉我的 Drupal 容器使用该数据库?

【问题讨论】:

    标签: docker dockerfile


    【解决方案1】:

    如果最好直接调整 drupal 镜像,而不是它的 Dockerfile。
    请参阅Drupal Full Description

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

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

    要与数据库一起使用,你需要先运行一个数据库容器,like 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      相关资源
      最近更新 更多