手绘流程图,教你WSL2与Docker容器无缝互相迁移


摘要:本文主要介绍WSL2与Docker容器无缝迁移镜像。

本文分享自华为云社区《WSL2与Docker容器,无缝互相迁移》,作者: tsjsdbd 。

注:本文提到的WSL都是指WSL2

WSL与Docker

WSL非常像windows版的Docker,可以直接启动“容器”(故意加引号,下面有解释),并且在容器世界里面,可以执行各种Linux操作。像下面这样,是不是和Docker很像?

ps:上面提到的“容器”,实际是安全容器(即:虚机),WSL2内部架构如下:

虽WSL和Docker很像,但是它对WSL镜像有要求,就是得从 MS的应用商店下载:

这个就稍显不那么方便,毕竟你可能已经有很多现成的Docker容器了,这里又得重新安装一遍。

我是Windows上有WSL,我的Linux开发机上有Docker,那我怎么在WSL里面跑Docker呢?

WSL运行Docker容器

常见的WSL里面运行Docker,是这样子的:

就是把WSL当做一台新的开发机,然后在WSL里面,安装Docker软件。

这样子,也能解决问题。就是稍微麻烦了一点点。那能不能WSL直接运行Docker镜像呢?

答案是可以的:

参考:https://bbs.huaweicloud.com/blogs/281862

X11 Server,一般网上推荐 VcXsrv,我自己用下来,感觉 MobaXterm 更傻瓜一些。所以我都用 MobaXterm 的。

附:安装WSL

1. 系统要求

Windows 10,版本 2004 以上。

比如我的是 20H2,是OK的。

点击:开始-设置-关于,查询自己的版本

2. 判断wsl2是否已有

打开 power shell,输入

wsl -l -o

如OK,则不用后续步骤了(说明你的windows版本已经比较高)。

不行,则手动执行后续步骤

3. 允许开发者模式

4. 启动WSL2功能

启用WSL2

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

启用虚拟机平台

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

启用Hyper-V

dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart

设置WSL2为默认

wsl --set-default-version 2

5. 重启,安装wsl补丁

wsl_update_x64.msi

执行以上补丁包。

补丁包下载地址:

点击关注,第一时间了解华为云新鲜技术~