本文内容:
了解WSL和WSL2;
案例:在Windows 10 上开启WSL2并安装Ubuntu;
案例:体验在WSL2中的Ubuntu 安装Docker 并运行 nginx;
?
视频讲解:
您可以在B站观看本节视频讲解:https://www.bilibili.com/video/av97074661/
或点击文末“阅读原文” 查看视频。?
图文内容:
什么是WSL?
Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。
在WSL中,你可以:
在 Microsoft Store 中选择你喜欢的Linux (Ubuntu/ Debian/ SUSE 等等)。
运行常用的软件/Bash shell脚本/docker 等。包括但不限于:
工具:vim、emacs、tmux
语言:Javascript/node.js、Ruby、Python、C/C++、 C# 和 F#、Rust、Go 等等
服务:sshd、MySQL、Apache、lighttpd
在 Windows 上调用 GNU/Linux 应用程序。
什么是WSL2?
WSL 2 是 WSL 中体系结构的新版本,它更改 Linux 发行版与 Windows 交互的方式。
?WSL 2 的主要目标是提高文件系统性能并增加系统调用的完全兼容性。?
每个 Linux 发行版都可以作为 WSL 1 或 WSL 2 发行版运行,并可随时进行切换。?
WSL 2 是底层体系结构的主要功能,它使用虚拟化技术和 Linux 内核来实现其新功能。
WSL2 和WSL 在用户层面的感知?
将 Linux 应用需要访问的文件放在 Linux 根文件系统中可以提高文件访问速度
在 WSL 2 预览版的初始版本中,你需要使用 IP 地址而不是 localhost 来访问网络应用程序
?
案例:
案例:在Windows 10 上开启WSL2并安装Ubuntu;
? ? ? ? ? ? ? ? ? ? ?WSL 2 仅适用于 Windows 10 版本18917或更高版本
? ? ? ? ? ? ? ? ? ? ?管理员权限在power shell中执行如下命令:
1. 执行Power Shll命令或通过添加删除windows组件开启WSL? ? ? ? ? ? ? ? ? ??
dism.exe?/online?/enable-feature?/featurename:Microsoft-Windows-Subsystem-Linux?/all?/norestart dism.exe?/online?/enable-feature?/featurename:VirtualMachinePlatform?/all?/norestart
或者:
使用添加删除windows组件功能:
?
安装完成后,此过程可能要求重启电脑。
2. 在windows app 商店? 安装Ubuntu 18.04
?
安装完成第一启动提示创建登录用户名和密码:
?
3. 切换到WSL2
?
在命令提示符中输入 wsl -l, 此处-l 是”list“的简称,不要输入成其他字符:
可以查看当前已经安装的linux 子系统
输入 wsl --set-version Ubuntu-18.04 2 可以切换到WSL2, 注意,其中的 Ubuntu-18.04 为你需要切换版本的Linux子系统。
wsl?--set-version?Ubuntu-18.04?2
?
可以通过如下命令查看当前的版本:
wsl?-l?-v
可以使用如下命令在以后安装 Linux 的时候默认启用 WSL2:
wsl?--set-default-version?2
?
?
4. 使用WSL2中的Linux? Ubuntu18.014
之后,有两种启动Ubuntu的方式:
1.可以通过开始菜单 像运行本地程序一样运行Ubuntu ,直接运行开始菜单里的 Ubuntu 18.04 LTS即可。
?
2. 在命令提示符中 输入 WSL
在本例中,我们使用了Windows Terminal(一款支持 Power Shell, Azure CLI, CMD 的多页面 终端工具, 可在商店中下载)
?
在Linux shell中,我们可以直接调用windows 系统的组件,比如输入 explorer.exe, 会打开windows 资源管理器:
?
也可以执行Linux 命令,比如ps:
?? ? ? ? ? ? ??
?
5. 在WSL2子系统Ubuntu中安装Docker-CE
本例中,我们使用mirror.azure.cn提供的源安装docker-ce, 当然您也可以参照docker 官网进行安装。
?
点击帮助图标,使用页面的脚本进行安装:
?
安装完成,启动docker 并查看版本:
sudo?service?docker?start sudo?docker?version
?
5. 在WSL2子系统Ubuntu中使用Docker 拉取映像并运行Nginx
执行如下命令:
sudo?docker?pull?nginx
?
?
在 wsl2中的Ubuntu中启动容器:
执行如下代码:
sudo?docker?run?--name?nginx?-p?9696:80?-d?nginx
在本地Windows中检查运行状况:
?