使用WSL 2引擎运行Docker桌面时使用的docker-desktop-data发行版是什么

时间:2020-04-23 21:06:13

标签: docker windows-subsystem-for-linux docker-for-windows docker-desktop

在具有Hyper-V的Windows上运行docker桌面时,我有一个名为DockerDesktopVM的VM,其中我的Linux VM运行时带有容器。

DockerDesktopVM

但是,当我使用WSL引擎运行docker桌面时,我看到它创建了2个WSL发行版。

  1. docker-desktop
  2. docker-desktop-data

enter image description here

我可以像其他任何发行版一样装入docker-desktop发行版。

enter image description here

但是尝试对docker-desktop-data做同样的事情只会让我反感。

enter image description here

所以我的问题是docker-desktop-data发行版有什么用途,为什么它与docker-desktop发行版分开存在?显然,该名称暗含数据,但是什么是特定数据?为什么我不能像其他人一样跳入发行版?

1 个答案:

答案 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的工作原理。