我正在开发一个Drupal项目,我希望Drupal的核心文件位于Docker镜像中,但是要从外部源加载的文件夹/ sites / modules / themes / profiles(本地文件夹或生产Azure BlockStore)。
我正在运行以下命令以尝试启动并运行,但据我所知,Drupal图像会覆盖/ sites文件夹的内容,这意味着我的settings.php文件已被删除,所以当我访问容器的URL时,我看到了安装过程。
docker run -p 80:80 -v modules:/var/www/html/modules -v profiles:/var/www/html/profiles -v sites:/var/www/html/sites -v themes:/var/www/html/themes drupal:8.5
有没有解决方法,提供我们自己的/ sites文件夹?
答案 0 :(得分:1)
您正在运行的命令中存在问题。您没有挂载本地文件夹,而是创建用于在主机上存储容器的指定目录的named volumes。
如果要指定bind mounts,则必须使用显式路径,而不是解释为命名卷的名称。
docker run -p 80:80 -v $(pwd)/modules:/var/www/html/modules -v $(pwd)/profiles:/var/www/html/profiles -v /sites:/var/www/html/sites -v $(pwd)/themes:/var/www/html/themes drupal:8.5