alv*_*gom 18 docker windows-10 windows-subsystem-for-linux
我知道目前可以通过两种不同的方式在 Windows 10 上运行 Ubuntu:
但是,我找不到一个易于理解的解释它们之间有什么区别(谈论应用程序),以及优缺点。
我发现了一篇关于在 WSL 上使用 docker 的帖子:Ubuntu via (Windows Linux Subsystem) 和 Docker。但我说的是直接在 Windows 10 上使用它。所以我将感谢有关这两个的任何信息。
Ric*_*ner 18
你好!Microsoft PM 在这里研究 WSL 和命令行。
WSL 允许您直接在 Windows 上运行本机、未经修改的 Linux ELF-64 二进制文件,并使您能够在 Windows“主机”操作系统上运行您喜欢的 Linux 工具。
WSL1 采取了在 NT 内核顶部添加 Linux 系统调用兼容层的方法,允许 Linux 二进制文件在 NT 上运行,与主机操作系统共享相同的底层文件系统、网络、进程列表等。
另一方面,即将发布的 WSL2 在 Linux 容器中运行发行版的二进制文件,在真正的 Linux 内核之上,在轻量级 VM 中,该 VM 仅分配其运行的应用程序所需的 RAM,然后将释放的 RAM 释放回主机操作系统。这提供了 100% 的 Linux 兼容性,并允许您的 Linux 工具以接近本机的性能运行,并消耗主机所需的最少资源,确保您的机器快速流畅地运行。
在 WSL2 之前,可以在 WSL1 中运行 Docker 客户端,使用它来驱动 Docker for Windows 在本地主机上的 Hyper-V 上运行,或者管理远程 Docker 服务器。但是由于许多技术原因,不能在 WSL1 上运行 Docker Engine。
但是,您可以在 WSL2 上的 Docker 中执行相同的操作,但如果您愿意,也可以在 WSL 之上运行 Docker 引擎本身。这是Docker 在 Windows 桌面上运行 Docker 的首选和未来路径。
要了解有关 WSL 的更多信息,请在此处查看视频和文档:https : //aka.ms/learnwsl
据我所知,目前可以通过两种不同的方式在 Windows 10 上运行 Ubuntu。
...它们之间有什么区别(谈论应用程序),以及优点和缺点。
在提出问题时,实际上有三种方法可以在 Windows 10 上运行 Ubuntu:
目前,还有两个附加选项:
所有这五个选项目前都是可行的,并且大多数在某些情况下仍然有用。所有这些选项都允许 ELF64 二进制文件在 Ubuntu 生态系统中未经修改地运行。
最适合:
当出现以下情况时较弱:
几乎还有其他任何事情。这并不是一件坏事——Docker 是一个很棒的容器化工具,但容器并不意味着成为一般意义上“运行 Ubuntu”的一种方式。*
对于初学者(可能也是最重要的)来说,容器是在覆盖文件系统中构建的,每次进行更改时都会添加一个层。因此,每个层sudo apt update && sudo apt upgrade都会在旧层之上生成一个全新的层。这对于运行“通用”系统来说是一种极其浪费的方式。
每次需要对底层系统进行更改时,通常都会重建容器。
此外,当您在 Windows 上运行 Docker Desktop 时,您几乎总是会使用 WSL2 后端。在这种情况下,在 WSL2 上使用 Ubuntu 会更高效。
概括:
最适合:
当出现以下情况时较弱:
概括:
最适合:
当出现以下情况时较弱:
概括:
最适合:
inotify支持 Windows 驱动器上的文件的任务,因为当前 WSL2 不支持此功能。当出现以下情况时较弱:
您正在运行的应用程序需要“较少使用”的内核功能。由于内核系统调用被“翻译”为 Windows API,因此并非所有功能都受支持。WSL1 不支持 Cgroup、命名空间等功能(但 WSL2 和此处列出的所有其他方法均支持)。
您正在使用的应用程序(或您遵循的指示)利用 Systemd,而 WSL(1 或 2)不容易支持 Systemd。
您需要访问桌面环境(Gnome、Xfce4 等)
概括:
最适合:
当出现以下情况时较弱:
| 归档时间: |
|
| 查看次数: |
18791 次 |
| 最近记录: |