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

Windows(WSL2)下Docker Compose卷挂载报错:文件或目录不存在

WSL2 + Docker Desktop 挂载主机目录到Docker卷失败解决方案

问题背景

在Windows 11的WSL2(Ubuntu)环境中使用Docker Desktop,执行docker compose up时出现挂载失败错误,提示目标目录不存在,但实际目录已存在且权限设为777。该项目在MacOS上可正常运行。

环境信息

  • Docker Desktop版本:4.26.1 (131620),引擎版本:24.0.7
  • 项目路径:WSL2原生路径/home/user/projects/composer
  • 卷目录:/home/user/projects/composer/docker-volumes

错误信息

Error response from daemon: failed to mount local volume: mount /home/user/projects/composer/docker-volumes/local-mongo-data:/var/lib/docker/volumes/composer_local-mongo-data/_data, flags: 0x1000: no such file or directory


解决方案

1. 检查Docker Desktop的WSL集成配置

打开Docker Desktop设置:

  • 进入Resources > WSL Integration
  • 确保当前使用的Ubuntu发行版已开启集成,同时勾选Enable integration with my default WSL distro
  • 应用设置后重启Docker Desktop

2. 修正Docker Compose卷配置

推荐直接在服务中使用bind挂载,替代named volume的driver_opts配置,避免路径解析问题:

services:
  # mongo服务示例
  mongo:
    image: mongo:latest
    # ...其他服务配置
    volumes:
      - ./docker-volumes/local-mongo-data:/var/lib/mongodb
  # rabbitmq服务示例
  rabbitmq:
    image: rabbitmq:management
    volumes:
      - ./docker-volumes/local-rabbit-data:/var/lib/rabbitmq
  # redis服务示例
  redis:
    image: redis:latest
    volumes:
      - ./docker-volumes/local-redis-data:/data

# 移除原有的named volumes定义
# volumes:
#   local-rabbit-data:
#     ...

若坚持使用named volume,需确保路径变量解析正确:

volumes:
  local-mongo-data:
    driver_opts:
      type: none
      device: ${PWD}/docker-volumes/local-mongo-data
      o: bind

执行echo $PWD确认当前目录为项目根目录/home/user/projects/composer,若不是则切换到该目录再执行docker compose up。

3. 清理旧卷并重建目录

执行以下命令重置卷状态(注意备份数据):

# 停止服务并删除旧卷
docker compose down -v
# 清空卷目录
rm -rf ./docker-volumes/*
# 重建目录并设置权限
mkdir -p ./docker-volumes/local-mongo-data ./docker-volumes/local-rabbit-data ./docker-volumes/local-redis-data
chmod -R 777 ./docker-volumes/
# 重新启动服务
docker compose up -d

4. 避免使用Windows挂载目录

确保项目位于WSL2原生文件系统(/home/user/...),不要放在/mnt/c/等Windows挂载目录下,这类目录存在性能和权限兼容性问题,易导致Docker挂载失败。


内容的提问来源于stack exchange,提问作者Ismail Gül

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:29:52