我正在尝试设置一个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。但是,如果我删除站点容器中的卷,它可以正常工作,我可以开始设置它,就好像它是一个常规站点。
我错过了什么?
答案 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
的内容有关。