首页 文章

Drupal网站与Docker-Compose

提问于
浏览
0

我正在尝试设置一个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

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

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

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

相关问题