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

Windows环境下如何在Docker Compose绑定挂载中使用WSL2 Ubuntu文件系统

解答

首先确认:完全可以在docker-compose.yml中配置绑定挂载WSL2发行版内的内容,你遇到的问题是配置语法错误和路径规则适配问题,根据你执行命令的环境分为两种适配方案:

方案1:在Windows侧(PowerShell/CMD)执行docker compose命令

你之前的配置仅缺少路径的闭合引号,调整后即可正常使用:

volumes:
    app_files: 
        driver: local
        driver_opts:
            type: none
            o: bind            
            device: "//wsl$/Ubuntu-20.04/home/dev/app"

注意事项:执行命令前需要确保WSL2的Ubuntu-20.04发行版处于运行状态,且在Windows资源管理器中输入\\wsl$\Ubuntu-20.04\home\dev\app可以正常访问对应目录。

方案2(性能更优):在WSL2 Ubuntu侧执行docker compose命令

该方案避免跨Windows/WSL文件系统的IO损耗,性能提升非常明显,操作步骤如下:

  1. 打开Docker Desktop设置,进入「Resources」-「WSL Integration」,开启Ubuntu-20.04发行版的集成开关,保存后重启Docker生效
  2. 你可以选择将docker-compose.yml放到WSL2的文件系统中,也可以继续使用存放在Windows文件系统的配置(在WSL中通过/mnt/盘符/路径访问Windows文件)
  3. 在WSL2 Ubuntu终端中执行docker compose命令,此时绑定挂载可以直接使用WSL内的绝对路径,无需走wsl$网络路径:
volumes:
    app_files: 
        driver: local
        driver_opts:
            type: none
            o: bind            
            device: "/home/dev/app"

如果是直接给服务配置绑定挂载而非定义命名卷,写法更简化:

services:
  你的服务名:
    volumes:
      - /home/dev/app:/容器内目标挂载路径

内容的提问来源于stack exchange,提问作者André Inocenti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:45:03