You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Volumes挂载错误求助:使用官方镜像安装Drupal卷配置异常

问题根因

Error response from daemon: invalid mount config for type "volume": invalid mount path: 'z:/projects/drupalsite/var/www/html/sites' mount path must be absolute

  • 该报错核心原因是docker-compose.yml中volumes字段的挂载顺序写反了:Docker卷挂载的固定语法为[宿主机路径]:[容器内绝对路径],你误将Windows本地路径放到了容器路径的位置,Docker将其识别为无效的容器内路径。
  • Windows盘符路径在Docker Compose配置中需要调整格式,不能直接写z:/或D:/这类原生Windows路径写法。

正确配置步骤

1. 调整卷挂载语法和路径格式

  • Windows宿主机路径用/代替\,盘符改为「小写盘符+斜杠」的格式,比如D盘的drupalsite目录下的sites文件夹对应写为/d/drupalsite/sites,如果项目在Z盘对应前缀改为/z/即可。
  • 容器内Drupal的站点根目录固定为/var/www/html,站点配置目录为/var/www/html/sites,不要修改容器内路径的写法。

2. 完整docker-compose.yml参考配置

version: '3.9'
services:
  drupal:
    image: drupal:latest
    ports:
      - "8080:80"
    volumes:
      # 挂载整个Drupal根目录到本地D盘的drupalsite/core目录
      - /d/drupalsite/core:/var/www/html
      # 也可单独挂载sites目录仅保存自定义配置、主题、插件
      # - /d/drupalsite/sites:/var/www/html/sites
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: 自定义root密码
      MYSQL_DATABASE: drupal
      MYSQL_USER: drupal
      MYSQL_PASSWORD: 自定义drupal数据库密码
    volumes:
      - /d/drupalsite/mysql_data:/var/lib/mysql

3. 启动前前置校验

  • 提前在Windows本地创建要挂载的目录,比如D:\drupalsite\core、D:\drupalsite\mysql_data,避免Docker自动创建的目录出现权限异常。
  • 如果你使用WSL2后端的Docker,需要先开启盘符共享权限:打开Docker Desktop -> Settings -> Resources -> File Sharing,勾选项目所在盘符,点击Apply & Restart生效。
  • 执行启动命令前先清理无效旧卷:docker volume prune -f

4. 本地Drupal核心文件同步方法

首次用绑定挂载启动后如果本地目录为空,容器内的文件不会自动同步到本地,可执行一次容器文件拷贝命令:
docker cp drupal容器ID:/var/www/html/. /d/drupalsite/core/
执行后本地目录就会有完整的Drupal核心文件,后续修改本地文件会自动同步到容器内。

内容的提问来源于stack exchange,提问作者Syed Zeeshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:57:04