首页 > Windows开发 > 详细

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

时间:2021-06-06 21:08:39      阅读:16      评论:0      收藏:0      [点我收藏+]

技术分享图片

本文内容:

  1. 了解WSL和WSL2;

  2. 案例:在Windows 10 上开启WSL2并安装Ubuntu;

  3. 案例:体验在WSL2中的Ubuntu 安装Docker 并运行 nginx;

?

视频讲解:

您可以在B站观看本节视频讲解:https://www.bilibili.com/video/av97074661/

或点击文末“阅读原文” 查看视频。?


图文内容:

什么是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

  • 在 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组件功能:

技术分享图片

?

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

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中检查运行状况:

技术分享图片

?


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

原文:https://blog.51cto.com/u_10117438/2872526

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!