在Drupal Docker容器

时间:2017-08-23 06:41:19

标签: php docker drupal docker-compose

我想在新安装的Drupal环境中加载一个包含所有依赖项的现有Drupal站点。 大多数网站都基于Drupal 7.x和PHP 5.x。

我已经使用Docker(Drupal 8.x和PHP 7.x)创建了一个环境。 现在我想在这个环境中加载/测试我现有的网站,但我不知道如何实现这一点。

撰写文件运行正常。我有一个drupal安装+ MariaDB。

这是我的docker-compose.yml:

version: '3'
services:
  drupal:
    image: jonasvbogaert/digipolis-migration:latest
    container_name: drupalenv
    ports:
      - 8080:80
    volumes:
      - ./Desktop:/var/www/html/modules
      - ./Desktop:/var/www/html/profiles
      - ./Desktop:/var/www/html/themes
      - ./Desktop:/var/www/html/sites
    restart: always
    environment:
      DRUPAL_SITE_NAME: Drupal
      DRUPAL_USER: admin
      DRUPAL_PASS: admin
  mariadb:
    image: mariadb:latest
    container_name: mariadbenv
    restart: always
    ports:
      - 3036:3036
    depends_on:
      - drupal
    environment:
      MYSQL_ROOT_PASSWORD: ""
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
      MYSQL_USER: drupal
      MYSQL_PASSWORD: drupal
      MYSQL_DATABASE: drupal

更新08/25:

我想我在这方面取得了一些进展,但现在我遇到了一个新问题。 我能够在我的docker容器中加载我的网站的根目录,但是我无法在localhost上访问它。得到403错误。

包含docker-compose文件的文件夹必须放在我网站的根目录中。

编辑了docker-compose.yml

version: '3'
services:
  drupal:
    image: jonasvbogaert/php-docker:${IMAGE_VERSION}
    container_name: drupalenv
    ports:
      - 8080:80
    volumes:
      - ../:/var/www/html/
    restart: always
    environment:
      DRUPAL_SITE_NAME: Drupal
      DRUPAL_USER: admin
      DRUPAL_PASS: admin
  mariadb:
    image: mariadb:latest
    container_name: mariadbenv
    restart: always
    ports:
      - 3036:3036
    depends_on:
      - drupal
    environment:
      MYSQL_ROOT_PASSWORD: ""
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
      MYSQL_USER: drupal
      MYSQL_PASSWORD: drupal
      MYSQL_DATABASE: drupal

1 个答案:

答案 0 :(得分:0)

一种方法可能如下 当您全新安装了drupal时,可以使用功能模块(https://www.drupal.org/project/features)从现有站点导出您的工作/依赖关系。然后将功能导入到您当前最新的drupal