Drupal网站与Docker-Compose

时间:2017-05-16 16:00:05

标签: docker drupal drupal-7 docker-compose

我正在尝试设置一个Drupal网站模板但是我有一个问题,这是我当前的docker-compose:

version: '2'
services:
  database:
    image: mysql
    container_name: database
    command: mysqld --user=root --verbose
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: "db"
      MYSQL_USER: "user"
      MYSQL_PASSWORD: "pass"
      MYSQL_ROOT_PASSWORD: "root"
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
    restart: always

  site:
    image: drupal
    container_name: site
    ports:
      - "555:80"
    volumes:
        - ./drupal:/var/www/html
    links:
      - database:database
    working_dir: /app
    restart: always

volumes:
  db:

现在,如果我这样做,该网站不起作用,/ var / www / html目录中没有文件,而且所有内容都是404。但是,如果我删除站点容器中的卷,它可以正常工作,我可以开始设置它,就好像它是一个常规站点。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果您未在site服务中映射卷,则表示Drupal正在使用/var/www/html图片中drupal中已有的内容。映射卷时,您将使用主机上/var/www/html中的任何内容覆盖./drupal。您看到的结果意味着./drupal的内容可能存在问题。首先,我将在不映射卷的情况下运行该服务,然后将/var/www/html的确切内容复制到本地文件夹中:

docker cp compose_site_1:/var/www/html/ ./drupal

然后尝试再次运行该服务,这次使用卷映射并查看是否有效。如果它有效,则会告诉您问题与./drupal的内容有关。