在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

本文内容:

  1. 了解WSL和WSL2;
  2. 案例:在Windows 10 上开启WSL2并安装Ubuntu;
  3. 案例:体验在WSL2中的Ubuntu 安装Docker 并运行 nginx;

 

视频讲解:

您可在作者博客观看视频:https://www.51azure.cloud/post/2020/2/7/windows-10wsl2-linux-ubuntu-docker

图文讲解:

 

什么是WSL?

Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。

在WSL中,你可以:

  1. 在 Microsoft Store 中选择你喜欢的Linux (Ubuntu/ Debian/ SUSE 等等)。
  2. 运行常用的软件/Bash shell脚本/docker 等。包括但不限于:
    • 工具:vim、emacs、tmux
    • 语言:Javascript/node.js、Ruby、Python、C/C++、 C# 和 F#、Rust、Go 等等
    • 服务:sshd、MySQL、Apache、lighttpd
  3. 在 Windows 上调用 GNU/Linux 应用程序。

什么是WSL2?

  1. WSL 2 是 WSL 中体系结构的新版本,它更改 Linux 发行版与 Windows 交互的方式。
  2.  WSL 2 的主要目标是提高文件系统性能并增加系统调用的完全兼容性。 
  3. 每个 Linux 发行版都可以作为 WSL 1 或 WSL 2 发行版运行,并可随时进行切换。 
  4. WSL 2 是底层体系结构的主要功能,它使用虚拟化技术和 Linux 内核来实现其新功能。

WSL2 和WSL 在用户层面的感知?

  1. 将 Linux 应用需要访问的文件放在 Linux 根文件系统中可以提高文件访问速度
  2. 在 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组件功能:

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

安装完成后,此过程可能要求重启电脑。

2. 在windows app 商店  安装Ubuntu 18.04

 

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

安装完成第一启动提示创建登录用户名和密码:

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

3. 切换到WSL2

 

在命令提示符中输入 wsl -l, 此处-l 是”list“的简称,不要输入成其他字符:

可以查看当前已经安装的linux 子系统

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

输入 wsl --set-version Ubuntu-18.04 2 可以切换到WSL2, 注意,其中的 Ubuntu-18.04 为你需要切换版本的Linux子系统。

wsl --set-version Ubuntu-18.04 2

 

可以通过如下命令查看当前的版本:

wsl -l -v

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

可以使用如下命令在以后安装 Linux 的时候默认启用 WSL2:

wsl --set-default-version 2

 

 

4. 使用WSL2中的Linux  Ubuntu18.014

之后,有两种启动Ubuntu的方式:

1.可以通过开始菜单 像运行本地程序一样运行Ubuntu ,直接运行开始菜单里的 Ubuntu 18.04 LTS即可。

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker 

2. 在命令提示符中 输入 WSL

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

在本例中,我们使用了Windows Terminal(一款支持 Power Shell, Azure CLI, CMD 的多页面 终端工具, 可在商店中下载)

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

在Linux shell中,我们可以直接嗲用windows 系统的组件,比如输入 explorer.exe, 会打开windows 资源管理器:

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

也可以执行Linux 命令,比如ps:

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker               

 

5. 在WSL2子系统Ubuntu中安装Docker-CE

本例中,我们使用mirror.azure.cn提供的源安装docker-ce, 当然您也可以参照docker 官网进行安装。

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

点击帮助图标,使用页面的脚本进行安装:

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

安装完成,启动docker 并查看版本:

sudo service docker start
sudo docker version

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

5. 在WSL2子系统Ubuntu中使用Docker 拉取映像并运行Nginx

执行如下命令:

sudo docker pull nginx

 

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

在 wsl2中的Ubuntu中启动容器:

执行如下代码:

sudo docker run --name nginx -p 9696:80 -d nginx

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

在本地Windows中检查运行状况:

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

 

本文参考官方文档:https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

 

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker

上一篇:DelphiXE3中创建WebService(服务端+客户端) 1


下一篇:LDAP/SASL/GSSAPI/Kerberos编程API(2)--krb5客户端