WSL 2 Ubuntu运行docker compose报非共享挂载错误如何解决?
报错原因
WSL2 根目录默认挂载权限不为shared,Docker 守护进程执行卷挂载操作时需要共享挂载权限才能完成操作。
解决方法
临时生效(重启WSL后失效)
在 WSL Ubuntu 终端中直接执行以下命令即可:
mount --make-shared /
永久生效
- 在 WSL Ubuntu 终端中编辑
/etc/wsl.conf配置文件,没有该文件则直接新建:
sudo nano /etc/wsl.conf
- 写入以下配置内容:
[automount] options = "metadata,shared" mountFsTab = true # 若你已开启WSL的systemd支持,可同时保留以下配置 [boot] systemd = true
- 保存退出文件后,关闭所有WSL终端,在Windows侧的PowerShell或CMD中执行命令关闭WSL:
wsl --shutdown
- 等待10秒后重新打开WSL Ubuntu终端,执行以下命令验证配置是否生效:
findmnt -no OPTIONS /
如果输出内容中包含shared字段,说明配置生效,此时重新执行docker-compose up -d --build即可正常运行。
额外校验项
打开Docker Desktop设置,进入Resources > WSL Integration页面,确认当前使用的Ubuntu发行版的集成开关已开启,修改后重启Docker Desktop即可。
内容的提问来源于stack exchange,提问作者Vipin Verma
相关产品推荐
相关产品推荐

