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

Docker Compose共享卷相对路径问题(Windows 10 Linux容器环境)

解决Windows 10 Linux容器下Docker Compose启动WordPress容器报错的问题

先别急,我碰到过好几个和你一模一样的场景——Windows 10跑Linux容器、共享了C盘,结果docker-compose启动WordPress时出问题。咱们一步步来排查:

1. 先确认Docker共享权限是否真的生效

有时候你明明勾选了C盘共享,但Docker的权限可能因为Windows密码变更、服务重启等原因失效了:

  • 打开Docker Desktop,进入「Settings > Resources > File Sharing」
  • 先取消C盘的勾选,点击Apply & Restart,等Docker完全重启后再重新勾选C盘,输入当前Windows用户的密码确认
  • 重启完成后,再试一次docker-compose -f wp.yml up -d

2. 检查wp.yml里的挂载路径格式

Linux容器只认正斜杠/,Windows本地路径如果处理不好很容易出挂载错误:

  • 如果用相对路径,确保你是在wp.yml所在的文件夹下执行docker-compose命令,比如你的yml在C:\wp-project里,就先cd C:\wp-project再执行命令
  • 要是用绝对路径,建议换成WSL兼容的格式,比如把C:\wp-project\wp-content写成/run/desktop/mnt/host/c/wp-project/wp-content,再挂载到容器的/var/www/html/wp-content
  • 举个正确的挂载示例:
    volumes:
      - /run/desktop/mnt/host/c/wp-project/wp-content:/var/www/html/wp-content
    

3. 清理旧容器和缓存,解决残留问题

旧容器、卷的权限残留或者损坏是常见坑:

  • 先彻底清理现有相关容器和卷(注意备份好数据!):
    docker-compose -f wp.yml down -v
    
  • 再清理Docker的无用缓存:
    docker system prune -af
    
  • 之后重新启动服务:
    docker-compose -f wp.yml up -d
    

4. 切换到WSL终端执行命令(大概率能解决路径权限问题)

Windows的PowerShell/CMD有时候会和Linux容器的路径权限打架,换成WSL终端试试:

  • 打开Docker Desktop的「Settings > Resources > WSL Integration」,确保你常用的WSL发行版(比如Ubuntu)是开启状态
  • 打开WSL终端,cd到wp.yml所在的WSL路径(比如/mnt/c/wp-project)
  • 再执行docker-compose -f wp.yml up -d,很多时候这样就能绕过Windows侧的权限坑

5. 查看完整错误日志定位问题

如果上面的步骤都没解决,别加-d参数,直接执行:

docker-compose -f wp.yml up

这样能看到实时的完整错误输出——是挂载失败?权限被拒绝?还是镜像拉取出问题?把具体日志贴出来,就能精准定位了。

内容的提问来源于stack exchange,提问作者Brent Arias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:26:02