Docker迎来 Windows Subsystem for Linux 2

栏目: 编程工具 · 发布时间: 5年前

【编者的话】Docker已经意识到,微软方面刚刚推出的Windows Subsystem for Linux 2已经让Windows系统在 Docker 以及Windows/Linux平台容器开发者群体当中获得了惊人的吸引力。

Windows Subsystem for Linux 2(WSL2) 已经将 Linux 内核引入Windows系统。有些朋友可能会问,单单因为WSL确实在模拟Linux方面表现出色,就值得我们给予关注吗?呃……没错。根据Docker公司高级软件开发者Simon Ferquel的观点,单凭这一点就足够了。

在一篇工程博文当中,Ferquel解释称,凭借一己之力将容器技术推向主流的Docker公司正着手将其Docker Desktop开发平台for Windows从全Hyper-V转换为更加轻量化的WSL2 Hyper-V虚拟机。

理由是什么?Ferquel写道,这是因为微软“实际上提供了一套能够真正在轻量级虚拟机当中运行的Linux内核……其比Windows所提供的内核更加轻,与Windows集成效果更紧密,Docker守护程序能够在其中运行良好并获得卓越的性能表现。”

那么效率如何?Ferquel宣称,冷启动条件下WSL2与Docker守护程序的速度“迅如奔雷——在我的开发笔记本上能够在2秒内完成启动;相比之下,目前的Docker Desktop版本启动需要数十秒。”

大家觉得这算快吗?反正Docker认为这是相当的快。

然而,转移至WSL2的决定仍然经历了一定探讨。Docker方面测试了早期WSL2的多个build,并对多种方案进行了原型设计。现在,更新更快的Docker Desktop正在开发人员的手中逐步成型。

Docker还将利用WSL2集成包取代原本的Hyper-V VM。其将具有与当前Docker Desktop相同的功能,具体包括Kubernetes一键设置、自动更新、透明HTTP代理配置、访问Windows中的守护程序以及透明绑定Windows文件挂载等等。

真正令Docker开发者们感到振奋的是,他们将能够同时开发Windows与Linux版本的容器化程序。Ferquel宣称这将给面向Linux环境的项目或者Linux定制型build流程的开发者群体带来巨大的推动作用。这意味着大家不再需要分别构建Linux与Windows版程序的维护脚本!举例来说,Docker开发人员现在可以与Linux平台上的开发者使用相同的一组 工具 及脚本,并直接在Windows之上运行Linux Docker守护程序。

他同时宣称,WSL的绑定挂载还将具有与本机Linux设备几乎完全相同的I/O性能。这将直接解决Docker Desktop面临的主要痛点之一——I/O密集型工具链。NodeJS、 PHP 以及其它Web开发工具都将从这一改进中受益。

当然,困扰旧版Docker Desktop的绝不只有性能问题。可以肯定地讲,Windows文件绑定挂载的可靠性已经无法满足要求。“目前的实施方案依赖于Samba Windows服务,但该服务可能被停用、可能被企业GPO阻止、被第三方防火墙阻止等等。Docker Desktop配合WSL 2将带来一种新的Windows文件绑定实现方式,从而提供开箱即用且「丝般顺滑」的使用体验。”

除此之外,“与Visual Studio Code的「Remote to WSL」相结合,Docker Desktop Linux工作区将能够运行完整的Linux工具链,从而通过Windows系统中的IDE在本地计算机上构建容器。”

那么,速度提升到底源自何处?

首先,WSL 2运行在面向Windows的原生Linux 4.19内核之上。初代WSL需要先将Linux系统调用转换为相应的Windows API;相比之下,WSL 2则能够在轻量级Hyper-V VM当中运行Linux,因此不会因系统调用转换而带来任何性能损失。

另一大重要性能提升来源则在于Linux文件系统,也就是目前广泛使用的Linux EXT4文件系统。此前,系统必须将文件I/O调用转换为Windows NTFS格式。为了实现文件系统桥接,微软公司决定使用一套性能出众的传统解决方案: Plan 9文件系统协议(简称9P)9P网络文件系统服务器 允许各操作系统顺畅对接彼此之间的不同文件系统。

此次转换带来的最终结果,就是让用户能够在Linux与Windows上获得各自原生文件系统的I/O性能。

当然,如今讨论这一切可能为时尚早。毕竟Docker Desktop for WSL 2技术预览版还没有实际发布,预计将在今年7月开放下载。Docker方面承诺其将能够与现有Docker Desktop版本并行运作,因此大家可以继续安全地推进现有项目的开发工作。

如果新的Docker Desktop真的能够践行这些承诺,那么相信它必将成为涵盖Windows Server、Linux服务器、乃至全部云环境的至高Windows Docker开发平台。

原文链接: Docker embraces Windows Subsystem for Linux 2


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

SNS网站构建

SNS网站构建

Gavin Bell / 张卫星、李占波、徐静 / 机械工业出版社 / 2011-2 / 69.00元

过去的十年里,Web成为了非常重要的社交工具。社会活动已经超出了BBS这个概念,而指范围更广的互联网。大多数人对Facebook、MySpace以及Twitter并不陌生,事实上,现在很多人在网络上都有个人档案。社会媒体已经成为我们生活的一部分,它可以让我们的生活更加美 好,也可以使其更糟糕,像公民新闻这样的表达已变得很常见。仅仅Facebook就有两亿注册用户。那么在这个新领域中到底有什么奥秘呢......一起来看看 《SNS网站构建》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码