一、Docker和WSL2概述
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
在windows下配合VS code的Remote - Containers插件,使用体验很不错,缺点就是不像WSL2一样可以在资源管理器中直接处理文件。
但是,Docker本身是基于Linux的。为了让windows用户能够体验docker的便利,docker for windows应运而生。而它则是基于windows subsystem for linux(WSL)的。启动docker可以发现WSL多了docker-desktop和docker-desktop-data两个wsl分发版。而docker就在此基础上运行。(当然最初的docker for windows后端并不是直接使用WSL)。
Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。如果使用Windows 10 2004以上,可以通过WSL 2来窗口化运行桌面应用,也不需要另外安装其他的X 服务器。