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

WSL中Docker Desktop的docker-desktop文件夹能否存储Laravel项目?

解决WSL2+Docker下Laravel运行缓慢的问题

核心结论

  • 必须安装Ubuntu(或其他官方支持的WSL发行版),绝对不要把项目放到docker-desktop或docker-desktop-data文件夹。

原因说明

docker-desktop和docker-desktop-data是Docker Desktop专属的内部WSL发行版/数据卷,用来运行Docker守护进程、存储镜像和容器数据,不是给用户存放项目代码的:

  • 这些文件夹的内容由Docker自动管理,随时可能被Docker升级、重置操作覆盖,项目数据存在丢失风险。
  • 它们的文件系统权限和结构是为Docker服务优化的,存放开发者项目会引发权限冲突、访问异常等问题。

正确操作步骤

  1. 安装Ubuntu发行版
    打开微软商店,搜索「Ubuntu」选择任意版本(比如Ubuntu 22.04 LTS)安装,完成后设置用户名和密码。
  2. 确认WSL版本为2
    打开Windows终端,运行命令:
    wsl --set-default-version 2
    
    若你的Ubuntu版本默认是1,再运行:
    wsl --set-version Ubuntu-22.04 2
    
  3. 迁移Laravel项目到WSL文件系统
    打开Ubuntu终端,在用户目录下创建项目文件夹:
    mkdir ~/laravel-projects
    
    把Windows里的Laravel项目复制到这个目录(可以用cp命令,或者通过Windows文件管理器访问\\wsl$\Ubuntu-22.04\home\你的用户名\laravel-projects粘贴)。
  4. 配置Docker挂载
    在docker-compose.yml里,挂载WSL里的项目路径到容器,示例:
    services:
      app:
        image: php:8.2-fpm
        volumes:
          - ~/laravel-projects/your-app:/var/www/html
    
    这样Docker直接访问WSL内部文件系统,读写速度会和原生Linux环境一致,彻底解决卡顿问题。

额外提示

  • 日常开发可通过Windows文件管理器访问\\wsl$\Ubuntu-22.04编辑WSL里的项目文件,编辑器(比如VS Code)直接打开该路径即可,无需切换到Ubuntu终端操作。
  • 确保Docker Desktop的「Use the WSL 2 based engine」选项已开启(在Docker设置的General页面)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:35:03