Windows(WSL2) Linux子系统搭建Docker环境
摘要:本文主要介绍了如何再Windows(WSL2)中启用Linux系统中,并搭建Docker环境。
WSL是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
1. Windows版本要求
要在Windows启用WSL2功能,Windows必须达到特定的版本要求,首先必须是Win10系统,对于不同的CPU架构也有要求:
- 对于 x64 系统:版本 1903 或更高版本,采用内部版本 18362 或更高版本。
- 对于 ARM64 系统:版本 2004 或更高版本,采用内部版本 19041 或更高版本。
- 低于 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环境的更多相关文章
- 使用Windows的Linux子系统搭建嵌入式开发环境
亲,都9102年了,还在用VMware跑嵌入式交叉编译链吗? 北京时间2019年6月13日,Windows 10发布预览版本18917.版本的主要功能是Linux子系统(windows sub ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 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 北京海淀区 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- windows 7 下快速搭建php环境(windows7+IIS7+php+mysql)
原文:windows 7 下快速搭建php环境(windows7+IIS7+php+mysql) 1).采用理由: 优点:最大化的桌面图形化操作系统,可维护性优秀.基于IIS v6.0/v7.0(20 ...
- Windows安装Linux子系统--安装GUI界面
原文:Windows安装Linux子系统--安装GUI界面 前段时间发现Windows可以安装Linux子系统了,恰逢电脑换了固态,还没装Linux,不如趁机体验一番! 1.准备工作 1.1.打开 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
随机推荐
- 本机ping不通虚拟机,但虚拟机可以ping通本机
在各自网络都连接的情况下,本机ping不通虚拟机,但虚拟机可以ping通本机时解决方案: 1.linux虚拟机中连接方式选择NAT模式 2.本地启动VMnet8,然后选择VMnet8的属性,手动输入和 ...
- oracle数据处理之sql*loader(二)
目录 SQL*Loader对不同文件及格式的处理方法 2.1 Excel文件 一般的Excel文件最大行数不超过65536行,说明数据处理量并不大,处理Excel的方式是将其另存为CSV格式文件,然后 ...
- Mybatis和Mybatis-Plus时间范围查询,亲测有效
一.mysql 1.传入时间范围参数类型是字符串 <if test="startTime!=null and startTime.trim() neq ''"> and ...
- Pandas 中的遍历与并行处理
使用 pandas 处理数据时,遍历和并行处理是比较常见的操作了本文总结了几种不同样式的操作和并行处理方法. 1. 准备示例数据 import pandas as pd import numpy as ...
- Spring Boot学习(三)解析 Spring Boot 项目
一.解析 pom.xml 文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=& ...
- pwnable.kr-coin1-witeup
是一个小游戏,会给100堆小硬币,在每堆硬币中找到假币(重量为9,其他重量为10),其中每堆硬币都设置了金币数和固定的尝试次数. 思路是:在每堆硬币中,在有限的尝试次数中对硬币通过二分法计算硬币重量不 ...
- Linux NSF网络共享盘
服务器安装: yum -y install nfs-utils rpcbind 服务器配置 :vi /etc/exports 例: /root/docs 192.168.1.*(rw,sync,no ...
- 探讨JVM运行机制和执行流程
JVM是什么 概述 JVM是Java Virtual Machine的缩写.它是一种基于计算设备的规范,是一台虚拟机,即虚构的计算机. JVM屏蔽了具体操作系统平台的信息(显然,就像是我们在电脑上开了 ...
- JSP2.2自定义标签、EL函数
简介 JSTL是一个JSP标准标签库,可以解决大部分问题,但是如果我们需要一些更特殊的功能,就需要自定义类似JSTL中标签的标签.如果EL表达式无法满足我们的需求,我们也可以自定义EL函数. tld后 ...
- Python-序列切片原理和切片协议-[start:end:step] __getitem__
切片原理图(顾头不顾尾的正则原理) # [0:1] 其实只取到C, 取e则 [-1:], 如果步长为负数则倒过来取,从第几个往回取 name = "ChuiXue" print(n ...