摘要:本文主要介绍了如何再Windows(WSL2)中启用Linux系统中,并搭建Docker环境。

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

1. Windows版本要求

要在Windows启用WSL2功能,Windows必须达到特定的版本要求,首先必须是Win10系统,对于不同的CPU架构也有要求:

  1. 对于 x64 系统:版本 1903 或更高版本,采用内部版本 18362 或更高版本。
  2. 对于 ARM64 系统:版本 2004 或更高版本,采用内部版本 19041 或更高版本。
  3. 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

另外,对于 Windows 10 版本1903 或 1909 内部版本号必须是 18362.1049+ 或 18363.1049+,也就是说次要内部版本号需要高于 .1049。

按“Win键 + R” 输入 winver 可查看当前系统版本

下面是我电脑的Windows 10版本(2004):

2. 启用虚拟机和Linux子系统功能

以管理员身份打开 PowerShell 并运行(右键开始菜单图标),注意,一定要“以管理员的身份打开”

运行下面的命令开启Linux子系统功能:

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

运行下面的命令开启虚拟机功能:

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

执行上面两句命令后就可以开启Linux子系统和虚拟机功能了,可以通过“设置->应用->程序和功能(应用界面右边相关设置下面)->启用或关闭Windows功能”查看

其实也可以不通过命令,通过界面操作启用这两个功能。

最后,重启Windows,!!!!记得重启,之后才能安装Linux内核包!!!!

3. 下载并安装 Linux 内核更新包

安装Linux内核更新包之前请确认Windows系统已经启用Linux子系统和虚拟机功能,并完成重启。

可以通过https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi这个地址下载Linux内核更新包,并安装。

这个下载地址是X64 Windows系统的,如果是Arm64的可以点击这里下载Arm64

4. 将 WSL 2 设置为默认版本

以管理员的身份打开 PowerShell,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

如果通过以上几步没有遇到问题,那么恭喜你,WSL2环境已经启用成功。

5. 安装Linux系统

WSL2环境启用成功后,就可以安装Linux系统了,通过 Microsoft Store 搜索 Ubuntu 选择适合自己的Ubuntu版本,下载并安装(这里我安装的是18.04)

安装完成后,首次启动Ubuntu会有一个初始化过程,需要几分钟,然后创建一个Ubuntu账号

最后完成账号创建,就可以使用Ubuntu子系统了,这样就可以跟使用Windows应用一样使用Ubuntu系统了。

6. 换源

一般来说装完Linux系统第一件事就是换源,毕竟国内访问外网的网速感人,这里采用的是清华源,可以通过下面的地址获取清华源的配置

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

选择适合自己系统版本的源配置

配置源:

cd /etc/apt/
# 备份
mv sources.list sources.list.def
sudo vim sources.list
# INSERT:::粘贴清华源的配置
sudo apt-get update

7. 安装Docker

Ubuntu安装Docker很简单,只需要一句命令就行:

sudo wget -qO- https://get.docker.com | sh

这个安装过程可能有点久,大概需要10~20分钟,安装完成之后可以看到如下面截图的打印

!!! 执行上面红色方框内的命令 ,完成Docker的安装。

8. 运行Docker容器

Docker安装完成之后可以通过简单的运行Docker容器来测试是否正常安装。

首先启动Docker后台进程:

sudo service docker start

运行hello-world容器:

sudo docker run hello-world

如果Docker安装没有问题,则可以成功运行hello-world容器:

=========================================================

Docker源配置可关注公众号 “HiIT青年” 发送 “Docker源配置” 获取。



关注公众号,阅读更多文章。

Windows(WSL2) Linux子系统搭建Docker环境的更多相关文章

  1. 使用Windows的Linux子系统搭建嵌入式开发环境

      亲,都9102年了,还在用VMware跑嵌入式交叉编译链吗?   北京时间2019年6月13日,Windows 10发布预览版本18917.版本的主要功能是Linux子系统(windows sub ...

  2. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  3. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  4. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

  5. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. windows 7 下快速搭建php环境(windows7+IIS7+php+mysql)

    原文:windows 7 下快速搭建php环境(windows7+IIS7+php+mysql) 1).采用理由: 优点:最大化的桌面图形化操作系统,可维护性优秀.基于IIS v6.0/v7.0(20 ...

  7. Windows安装Linux子系统--安装GUI界面

    原文:Windows安装Linux子系统--安装GUI界面   前段时间发现Windows可以安装Linux子系统了,恰逢电脑换了固态,还没装Linux,不如趁机体验一番! 1.准备工作 1.1.打开 ...

  8. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  9. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

随机推荐

  1. python中使用cookie进行模拟登录

    背景:使用cookie模拟登录豆瓣->我的豆瓣网页 [准备工作] 1.通过Fiddler抓取“我的豆瓣”url: 2.通过Fiddler抓取“我的豆瓣”cookie值. import urlli ...

  2. list列表(也叫数组),以及常用的一些方法

    列表的表达: 元祖tuple,元祖是不可被修改的列表 1.列表的增,list.append(元素).或list.insert(index,元素) 2.列表的删,list.pop(可指定index也可不 ...

  3. String的intern方法的使用场景

    在讲intern方法前,我们先简单回顾下Java中常量池的分类. 常量池的分类 Java中常量池可以分为Class常量池.运行时常量池和字符串常量池. 1. Class文件常量池 在Class文件中除 ...

  4. spring boot之AOP

    首先,aop是面向对象切面,嗯,就是说不面向静态方法,我做测试demo的时候controller方法有个加了static,尴尬的是就用了那个方法测,检查了几遍配置... 参看这篇文章https://m ...

  5. zookeeper(3) 持久化

    zookeeper为了防止,系统宕机或重启导致的数据丢失,会对数据进行定时持久化.有两种持久化方式: 1.为每次事务操作记录到日志文件,这样就可以通过执行这些日志文件来恢复数据. 2.为了加快ZooK ...

  6. Module build failed: TypeError: this.getResolve is not a function at Object.loader 使用vue-cli 创建项目 使用sass时报错 -- 等其他sass 报错 ./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib

    已经安装了 sass相关依赖包 npm  install sass-loader --save-devnpm install node-sass --sava-dev 并且在build文件下webpa ...

  7. 在CentOS Linux 7.5上安装MySQL

    本文来自与https://www.linuxidc.com/Linux/2018-05/152574.htm 随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS ...

  8. 【转】Postgres SQL sort 操作性能调优

    这篇文章将以实战的方式结合笔者在项目中真实遇到的情况来讲解.说到SQL,大家可能会遇到一些写法稍微复杂的写法.比如SQL中遇到的有聚合函数sum等,也有遇到使用group by / order by的 ...

  9. gerrit安装配置记录

    gerrit安装配置 java -jar gerrit-2.13.5.war init -d gerrit Authentication method [OPEN/?]: htt Install Ve ...

  10. OpenMP变量作用域【private】【shared】

    (1) privateprivate子句将一个或多个变量声明为线程的私有变量.每个线程都有它自己的变量私有副本,其他线程无法访问.即使在并行区域外有同名的共享变量,共享变量在并行区域内不起任何作用,并 ...