带有Docker-Compose的Drupal网站

我试图设置一个Drupal网站模板,但是我有一个问题,这是我目前的docker组成:

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网站的一切。 但是,如果我删除网站容器中的音量,它完美的作品,我可以开始设置它,就好像它是一个常规网站。

我错过了什么?

当你不在site服务中映射卷时,这意味着Drupal正在使用drupal映像中的/var/www/html任何内容。 当你映射音量时,你用主机上的./drupal覆盖/var/www/html 。 你看到的结果暗示./drupal的内容可能有些问题。 首先,我将运行该服务而不映射卷,然后将/var/www/html的确切内容复制到本地文件夹中:

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

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