Docker Desktop启动后自动加载Ubuntu WSL,docker-desktop-data WSL消失问题解析
Docker Desktop启动后自动加载Ubuntu WSL,docker-desktop-data WSL消失问题解析
操作系统:Windows 11 家庭中文版 (23H2,22631.4037)16GB
Docker Desktop 版本:v4.34.3
如果赶时间,可以直接看结论。
Docker Desktop用的频次不是很高,记得之前安装完,用wsl --list -v命令看到有三个WSL实例:
NAME STATE VERSION
* Ubuntu-20.04 Stopped 2
docker-desktop Stopped 2
docker-desktop-data Stopped 2
其中Ubuntu-20.04是WLS刚推出来时,我安装的,要先于Docker Desktop,那个时候Docker Desktop还不是基于WSL构建的。
现在(v4.34.3)用wsl --list -v查看发现只有两个WSL实例:
NAME STATE VERSION
* Ubuntu-20.04 Running 2
docker-desktop Running 2
且Ubuntu-20.04 WSL随着Docker Desktop的启动而启动,关闭也同步。这不是我想要的。因为Ubuntu-20.04是我自己安装的一个虚拟机,有独立的使用场景,不希望与Docker Desktop耦合到一起。
要取消这个“绑定”也很简单,具体操作如下:
- 打开 Docker Desktop软件;
- 进入 Settings > Resources > WSL Integration
- 取消勾选 Enable integration with my default WSL distro
- 点击右下角的 Apply&Restart(应用并重启)
![alt text]()
👉 因为我机器默认的WSL为 Ubuntu-20.04(wsl --list -v结果中带*号的),而上面的设置会将默认的WSL作为docker的启动环境。所以导致Ubuntu与docker-desktop“同生死”。
本来以为勾选Enable integration with my default WSL distro是把默认的WLS(Ubuntu-20.04)当成docker-desktop-data WSL使用在。但当我取消勾选,重启Docker Desktop后,使用wsl --list -v并没有发现docker-desktop-data WSL。不过,Ubuntu-20.04 WSL的状态是Stopped了。
此时,我以为我的docker-desktop-data WSL没有因为我的设置更改而自动恢复,docker容器肯定启动不了,但实际上并没有,容器可以正常使用,功能未受影响。
👉 于是查阅相关资料,才发现从v4.30.0开始,取消了docker-desktop-data WSL。具体可参见官方Release Notes

结论
- Docker Desktop启动时如果不想启动非docker-desktop本身的但又被设置为默认的WSL,需要取消配置
Settings > Resources > WSL Integration>Enable integration with my default WSL distro的勾选。 - Docker Desktop在v4.30.0之后去掉了docker-desktop-data WSL。同样的说法:v4.30.0后,docker-desktop-data被合并到docker-desktop了,但无从考证,也没去看源码。
本文来自博客园,作者:菜越香,转载请注明原文链接:https://www.cnblogs.com/cyxg/p/18800216


浙公网安备 33010602011771号