Microsoft's latest WSL 2Significant changes have taken place in architecture: it provides a way to run in a lightweight VMReal Linux Kernel。
Using a real Linux kernel means running ELF64 Linux binaries on Windows. This is definitely good news for Docker, because it means that the Linux version of Docker can run directly in WSL 2.
But Docker's goal is more than that. For this change and the technology, Docker has applied it to its own products and recently announced that it is currently being developed.New version of Docker Desktop for WSL 2A public preview is planned for July. It will make Docker's development experience more friendly and unlock more new features.
Docker said that Microsoft's architecture in WSL 2 is very similar to the way they use Linux Kit and Hyper-V. More importantly, WSL 2, which uses a real Linux kernel, integrates more closely with Windows.
According to Docker, Microsoft has provided them with an early version of WSL 2 so that they can evaluate the technology and understand how to combine it with Docker Desktop for Windows to make it the best solution for using Docker on Windows.
After testing, the Docker daemon runs well in WSL 2 and performs well, with a cold start time of only about 2 seconds.
Docker also indicated that WSL 2 integration packages would be used instead of Hyper-V VM.The package will provide the same functions as the current Docker Desktop VM: one-click setting of Kubernetes, automatic updates, transparent HTTP proxy configuration, access to daemons from Windows, transparent binding of Windows files, and so on.
This integration package will contain the server-side components required to run Docker and Kubernetes, as well as CLI tools for interacting with these components in WSL. Eventually, Docker Desktop will introduce a new feature:Linux workspaces。
Now when we use Docker Desktop, the VM running the daemon is completely opaque: although we can interact with Docker and Kubernetes APIs from Windows, we cannot run anything in the VM except the Docker container or Kubernetes Pod.
But by integrating WSL 2, you can experience seamless integration with Windows, which has a huge impact on developers of projects for the Linux environment or on the build process customized for Linux
For example, Docker developers can now run the Linux Docker daemon on Windows usingThe same set of tools and scripts as Linux developers:
As for performance, Microsoft has made great efforts in performance and resource allocation in order to make WSL 2 have a better experience: setting VM to use dynamic memory allocation, and scheduling tasks on all available host CPUs, in addition, consuming the minimum memory required within the scope provided by the host.
Docker Desktop will take advantage of these features of WSL 2 to dramatically improve its resource consumption. It will use as little CPU and memory as it needs, and build CPU / memory intensive tasks such as containers will be much faster than it is now.
Thanks to the collaboration with Microsoft, Docker Desktop for WSL 2 will release a technology preview in July to support simultaneous operation with the current version of Docker Desktop.