在具有Hyper-V的Windows上运行docker桌面时,我有一个名为DockerDesktopVM的VM,其中我的Linux VM运行时带有容器。
但是,当我使用WSL引擎运行docker桌面时,我看到它创建了2个WSL发行版。
我可以像其他任何发行版一样装入docker-desktop发行版。
但是尝试对docker-desktop-data做同样的事情只会让我反感。
所以我的问题是docker-desktop-data发行版有什么用途,为什么它与docker-desktop发行版分开存在?显然,该名称暗含数据,但是什么是特定数据?为什么我不能像其他人一样跳入发行版?
答案 0 :(得分:8)
docker-desktop-data发行版由docker-desktop发行版用作容器映像等的后备存储。当docker在Hyper-V下运行时,通过在Hyper-V映像中安装VHD可获得相同的结果但是WSL2无法做到这一点。
引用the docker blog introducing the new wsl2 backend:
这将为您创建2个WSL发行版:
Docker-desktop, which I’ll call the bootstrapping distro Docker-desktop-data, which I’ll call the data store distro
从高层的角度来看,引导发行版实质上是 取代了Hyper-V,而数据存储发行版取代了我们 以前已附加到VM。
引导发行版创建具有其自己根目录的Linux名称空间 基于我们前面提到的相同2个iso文件的文件系统(不是 完全正确,但足够接近),并使用数据存储发行版作为 容器映像等的后备存储,而不是VHD(WSL 2可以 目前不允许我们附加其他VHD,因此我们可以利用 跨发行版。)
博客文章很好地介绍了wsl上的docker的工作原理。