我已经在 Windows 10 上安装了 Docker Desktop 和 Ubuntu 20.04 [Microsoft Store],并看到我有三个发行版 [如下],但我想摆脱docker-desktop
and docker-desktop-data
,因为我不需要那么多并且想要使用Ubuntu-20.04
仅用于我的 Docker 实验:
PS $ wsl -l -v
NAME STATE VERSION
Ubuntu-20.04 Running 2
docker-desktop-data Running 2
docker-desktop Running 2
- 我知道
docker-desktop-data
包含图像并docker-desktop
包含 Docker 基础架构,但我仍然不清楚并且感到困惑
我如何删除这些,我需要它们吗?
我昨天在 Stack Overflow 的评论中提到了这一点,但我现在有机会尝试一下,它按预期工作......
Docker Engine 将在单个 WSL2 实例中运行良好(有一个已知警告,解决方法见下文),听起来这就是您真正想要的。
Docker Desktop 确实在基础 Docker 引擎上提供了一些额外的功能:
如果您不需要这些功能,那么:
docker-desktop.*
将删除两个引用的实例)wsl --shutdown
docker run
例子还不行。sudo service docker start
.sudo docker run --rm hello-world
(为什么 Docker 文档没有包含--rm
在其中对我来说毫无意义)。并清理它sudo docker rmi hello-world
(也应该是文档的一部分,恕我直言)。sudo
.之后,Docker 文档中的下一步是使其能够在启动时运行。这在 WSL 上不起作用,因为没有“启动”的概念。因此,您需要另一种方法来确保引擎在 WSL 中运行。
sudo service docker start
当然,当您需要时,它可以只是一本手册。或者,如果您愿意,可以在您的~/.bashrc
:还有其他方法,但这只是一个例子。
如果你删除它们,你会破坏你的 Docker 配置。
你实际上需要他们两个。Docker 自己已经解释了它们存在的原因:
资料来源:介绍 Docker 桌面 WSL 2 后端
如果您喜欢 Docker Desktop 真正使不同发行版能够相互通信的集成优势,则不应删除它。
docker-desktop-data ,docker-desktop disto 是 Docker 桌面架构的一部分。
这三篇文章总结的很好。