无论你是什么原因,坚守在 Windows 阵营,Docker 的出现,加之 Windows Terminal,我想一些开发者应该有更多的理由继续留在 Windows 阵营了。微软这几年对开源的支持、对开发者的友好,动作很大~
如果你没有学习 Docker,我建议你一定要花时间学习、使用!如果你是 Go 语言爱好者,更应该学习 Docker。
什么是 Windows Terminal 和 WSL 2
微软在 5 月 6 日推出了全新的终端 Windows Terminal。它包含的主要特性有:
- 多 Tab 支持
- 富文本
- 多语言支持
- 可配置
- 主题和样式
- 支持 emoji
- 。。。
同时该终端依然符合我们的目标和要求,以确保它保持快速、高效,并且不会消耗大量内存和电源。如图:
一直使用 Windows 的用户应该会很开心吧。之前总是需要用安装 MinGW、msys、Cygwin 之类的软件,现在完全不需要了,对于开发人员来说,这真是一大惊喜!
而在这之上,其实是 2 代 WSL(Windows Subsystem for Linux 2)提供了强劲动力。
WSL 团队在博客中写到:
今天我们推出 Windows Subsystem for Linux 的最新架构:WSL 2!这种新架构的变化将允许:大幅度的文件系统性能提升,以及完整的系统调用兼容性,这意味着可以在 WSL 2 中运行更多 Linux 应用程序,例如 Docker。
看看官方博文提供的演示:
WSL 2 包含自己的 Linux 内核,它具有完整的系统调用兼容性。甚至Linux 版本的 Docker 可以在 WSL 2 中运行。
即将发布预览版的 Docker Desktop for WSL 2
在开源界,很多实现,都会优先支持 Linux 系统,之后才是 Windows,包括 Docker 也是,毕竟 Docker 最初就是利用 Linux 的技术。虽然 Docker Desktop for Windows 早就有了,但微软搞了这么大的动作,Docker 团队自然要跟进。这不,Docker 公司近日宣布目前正在开发利用 WSL 2 的新版 Docker Desktop,计划于7月发布公开预览版。它将使 Docker 的开发体验更友好、以及解锁更多新功能。
据 Docker 公司的介绍,微软很早就为他们提供了 WSL 2 的早期版本,以便他们评估这项技术,并了解如何和 Docker Desktop for Windows 结合,使它成为在 Windows 上使用 Docker 的最佳方案。可见大家对 Docker 的重视,同时也表明微软真是越来越开放了。
Docker 也表示将使用 WSL 2 的集成包来替代 Hyper-V VM,该软件包将提供与当前 Docker Desktop VM 相同的功能:一键设置 Kubernetes、自动更新、透明的 HTTP 代理配置、从 Windows 访问守护程序以及透明绑定 Windows 文件等等。
此集成包将包含运行 Docker 和 Kubernetes 所需的服务器端组件,以及用于和 WSL 中的这些组件交互的 CLI 工具。最终,Docker Desktop 将会引入一项新功能:Linux 工作区(Linux workspaces)
现在我们使用 Docker Desktop 时,运行守护程序的 VM 完全不透明:虽然我们可以从 Windows 与 Docker 和 Kubernetes API 进行交互,但除了 Docker 容器或 Kubernetes Pod 之外,无法在 VM 中运行任何内容。
但通过整合 WSL 2,可以体验与 Windows 的无缝集成,这对于开发针对 Linux 环境的项目的开发者或者针对 Linux 定制的构建过程具有巨大的影响 —— 意味着开发者无需再维护用于 Linux 和 Windows 两套不同的构建脚本了。
Docker Desktop for WSL 2 将于7月发布技术预览版,支持与当前版本的 Docker Desktop 同时运行。
总结
高手们,似乎都喜欢终端各种命令,而不是图形化界面。之前大家总是寻找 Windows 下 CMD 的各种替代品,现在不需要了。
另一方面,很多新手,搭建一套环境总是不那么容易,但如果你学会了 Docker,这一切就都很容易了。
祝愿 Windows Terminal 和 Docker 都越来越好!