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 ...
随机推荐
- virtualbox之紧虚拟主机与本地主机连接
也就是手工配置IP地址.子网掩码.网关和DNS. 设置方法如下: vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑本地网卡的配置文件 主要查看下面这几项是 ...
- oracle之二检查点
检查点(checkpoint) 8.1 什么是checkpointcheckpoint是数据库的一个内部事件,检查点激活时会触发数据库写进程(DBWR),将数据缓冲区里的脏数据块写到数据文件中. 8. ...
- 万字详解TDengine 2.0整体架构设计思路
导读:涛思数据8月3日将TDengine 的集群功能开源,TDengine具有超强的性能和功能,为什么能做到?它到底有哪些技术创新?今将TDengine的整体设计文档分享出来. 1: 数据模型 物联 ...
- 软件开发过程中常用的环境解释DEV FAT UAT PRO
1.DEV Development environment 开发环境,用于开发者调试使用 2.FAT Feature Acceptance Test environment 功能验收测试环境,用于软件 ...
- 学习 | 基于require.js的三级联动菜单【入门】
主要目的是学习如何使用require.js AMD就是通过延迟和按需加载来解决各个模块的依赖关系,其中require就是AMD的框架之一 它的优点是可以解决以下问题: JS文件的依赖关系. 通过异步加 ...
- JVM运行时数据区--Java虚拟机栈
虚拟机栈的背景 由于跨平台性的设计,java的指令都是根据栈来设计的.不同平台CPU架构不同,所以不能设计为基于寄存器的. 根据栈设计的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样 ...
- Dell服务器R710修改iDRAC密码
此方法需重启,重启之前记住保存 重要数据,停止服务器相关服务.所以此操作最好在还未装系统前先设置好. 开机(重启)持续按CTRL+E进入iDRAC设置界面,选择意思为恢复默认的选项,风扇会非常的响,之 ...
- Node.js 从零开发 web server博客项目[项目介绍]
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...
- FastDFS不同步怎么破
一.背景说明 FastDFS是一款开源的分布式文件系统,具体介绍就不说了,有兴趣的可以自行百度下. 以下是官方的架构图: 一次完整的写交互过程如下: 1.Client向Tracker查询可用的Stor ...
- Golang的Context介绍及其源码分析
简介 在Go服务中,对于每个请求,都会起一个协程去处理.在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等.当一个请求 ...