博客
关于我
在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker
阅读量:336 次
发布时间:2019-03-04

本文共 2129 字,大约阅读时间需要 7 分钟。

本文内容:

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

 

视频讲解:

在作者博客观看视频:

 

图文讲解:

 

什么是WSL?

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

在WSL中,你可以:

  1.  中选择你喜欢的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 /norestartdism.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 资源管理器:

img-102410a3-3429-4774-8dd6-bbe25be920e4.pnguploading.4e448015.gif转存失败

 

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

               

 

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

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

 

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

 

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

sudo service docker startsudo docker version

 

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

执行如下命令:

sudo docker pull nginx

 

 

在 wsl2中的Ubuntu中启动容器:

执行如下代码:

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

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

 

本文参考官方文档:

转载地址:http://ykpe.baihongyu.com/

你可能感兴趣的文章
.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)
查看>>
C# WPF开源控件库:MahApps.Metro
查看>>
使用QT实现一个简单的登陆对话框(纯代码实现C++)
查看>>
QT :warning LNK4042: 对象被多次指定;已忽略多余的指定
查看>>
GLFW 源码 下载-编译-使用/GLAD配置
查看>>
针对单个网站的渗透思路
查看>>
Typescript 学习笔记六:接口
查看>>
关于JTAG,你知道的和不知道的都在这里
查看>>
web服务器-并发服务器2
查看>>
【SqlServer】如何把本地SqlServer数据库部署到远程服务器上
查看>>
【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
查看>>
第9章 用户自己建立数据类型
查看>>
02、MySQL—数据库基本操作
查看>>
RedHat Linux-配置YUM仓库
查看>>
Redis数据类型
查看>>
1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富
查看>>
OpenJDK1.8.0 源码解析————HashMap的实现(一)
查看>>
MySQL-时区导致的时间前后端不一致
查看>>
2021-04-05阅读小笔记:局部性原理
查看>>
go语言简单介绍,增强了解
查看>>