我正在尝试使用Docker Compose与Docker建立一个新的本地Drupal 7网站。我希望可以通过文件浏览器访问 sites / all 和 sites / default / files 文件夹,例如,我可以在编辑器中编辑其中的文件并轻松创建自定义模块。
文档结构
test-website
--db-backups
--sites
--docker-compose.yml
docker-compose.yml文件
version: '3.1'
services:
drupal:
image: drupal:7
ports:
- 8080:80
volumes:
- ./sites:/var/www/html/sites
restart: always
db:
image: mysql:5.7
volumes:
- ./db-backups:/var/mysql/backups
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test
MYSQL_USER: user
MYSQL_PASSWORD: password
ports:
- 3030:3030
pma:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
PMA_USER: user
PMA_PASSWORD: password
PHP_UPLOAD_MAX_FILESIZE: 1G
PHP_MAX_INPUT_VARS: 1G
ports:
- 9090:9090
volumes:
sites:
db-backups:
在命令行中编写 docker-compose.yml 文件使我可以根据需要导航到localhost:8080,但是在安装的需求验证步骤中出现错误:
目录站点/默认目录/文件不存在。自动创建此目录的尝试失败,可能是由于权限问题。要继续安装,请创建目录并手动修改其权限,或者确保安装程序具有自动创建目录的权限。有关更多信息,请参见INSTALL.txt或在线手册。
我的书似乎有问题,但是我不知道该怎么办,也无法在线找到清晰的文档。另外,我现在试图将 sites 整体放在一个卷中,但是当Docker容器被杀死并重新启动时,这会导致数据丢失(请参阅https://github.com/docker-library/drupal/issues/3)。因此,我需要一个可以持久保存数据的解决方案。
我应该遵循哪些步骤来正确设置Drupal 7网站?
答案 0 :(得分:0)
使用文件夹卷时,您无需定义 docker卷
只需删除最后3行
volumes:
sites:
db-backups: