WSL
全称是 Windows Subsystem for Linux
,适用于 Linux
的 Windows
子系统,可让开发人员按原样运行 GNU/Linux
环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。
简单的说就是 WSL
能让你在不安装 Linux
或者 VM
(虚拟机)的情况下体验双系统!
关于 WSL 更多信息,请查看 => https://learn.microsoft.com/zh-cn/windows/wsl/about
比较 WSL 版本,请查看 => https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions
x64
系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。ARM64
系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。例如:
Windows 10 May 2020(2004)
、Windows 10 May 2019(1903)
、Windows 10 November 2019(1909)
或Windows 11
。
注意:低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
Windows Update 助手
下载地址,https://www.microsoft.com/zh-cn/software-download/windows10
Hyper-V
虚拟化技术支持的计算机;关于虚拟化技术说明:
虚拟化技术(Virtualization Technology
,简称 VT
),这种技术简单来说就是让可以让一个 CPU
工作起来就像多个 CPU
并行运行,从而使得在一台电脑内可以同时运行多个 OS
操作系统。
英特尔(Intel)
和 AMD
的大部分 CPU
均支持 VT 技术:
特尔(Intel)
名称为 VT-x
;AMD
名称为 AMD-V
;VT
开启之后对 VM
的性能有较大的提高。(比如:VMware、Hyper、安卓模拟器
等)
参考:https://zhuanlan.zhihu.com/p/394990397
检查 Windows
版本及内部版本号,选择【Windows 徽标键 + R】,然后键入“winver
”,选择【确定】。
说明:以下操作均以【管理员】身份打开
Windows PowerShell
或Windows Terminal
,输入指令执行。
此处以 Windows Terminal
为例,操作步骤如下:
不管您想要使用哪个版本的 WSL
,都首先需要启用它。Windows Terminal
输入命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
WSL2
需要启用 Windows 10
的 “虚拟机平台” 特性。它独立于 Hyper-V
,并提供了一些在 Linux
的 Windows
子系统新版本中可用的更有趣的平台集成。
Windows 10(2004)
上启用虚拟机平台:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Windows 10(1903,1909)
上启用虚拟机平台:Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
说明:此步骤为了确保所有相关部件配置生效,您应该在此时重启系统,否则可能会发不符合预期的情况。
Windows Terminal
输入以下命令,将 WSL2
设置为 WSL
的默认版本:
wsl --set-default-version 2
Linux
发行版有了 WSL
和 必要的虚拟化技术
,接下来去 Microsoft Store
下载并安装 Linux
发行版,这里以 Ubuntu 22.04.2 LTS
为例。
注意:去商店(
Microsoft Store
)安装的Linux
发行版只能安装在C
盘。
Microsoft Store
搜索 linux
,选择 Ubuntu 22.04.2 LTS
Ubuntu 22.04.2 LTS
详情:Windows Terminal
中点开 Ubuntu
,按照提示初次设置用户名和密码,注意用户名不支持大写。最后显示 Installation successful!
就说明安装成功!整个过程挺简单的,毕竟是 WSL(Windows 的子系统),对 Windows 用户很友好。
注意选择 OS
平台下载相应的 Docker Desktop
(下载地址 => https://docs.docker.com/desktop/
),下载后以【管理员】身份运行 Docker Desktop
执行安装操作。
Docker Desktop
安装好后,启动运行:
json
配置信息如下:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"dns": [
"8.8.8.8",
"8.8.4.4"
],
"experimental": false,
"features": {
"buildkit": true
},
"insecure-registries": [
"https://hub.atguigu.com"
],
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com/"
]
}
添加配置后,点击左下角的【Apply & restart】按钮,等待配置生效并重启完成。
接下来我们打开 Windows Terminal
,输入命令:
docker version
输出如下信息:
Client:
Cloud integration: v1.0.29
Version: 20.10.22
API version: 1.41
Go version: go1.18.9
Git commit: 3a2c30b
Built: Thu Dec 15 22:36:18 2022
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Desktop 4.16.3 (96739)
Engine:
Version: 20.10.22
API version: 1.41 (minimum version 1.12)
Go version: go1.18.9
Git commit: 42c8b31
Built: Thu Dec 15 22:26:14 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.14
GitCommit: 9ba4b250366a5ddde94bb7c9d1def331423aa323
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
或者输入命令:
docker info
输出如下信息:
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc., v0.10.0)
compose: Docker Compose (Docker Inc., v2.15.1)
dev: Docker Dev Environments (Docker Inc., v0.0.5)
extension: Manages Docker extensions (Docker Inc., v0.2.17)
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
scan: Docker Scan (Docker Inc., v0.23.0)
Server:
Containers: 7
Running: 3
Paused: 0
Stopped: 4
Images: 30
Server Version: 20.10.22
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9ba4b250366a5ddde94bb7c9d1def331423aa323
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 5.10.16.3-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 13.59GiB
Name: docker-desktop
ID: SRPD:RTAI:YAGO:44HL:DPFW:KUPZ:RPYW:OX3X:VBZP:24GQ:YFVN:NPLX
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5000
hub.atguigu.com
127.0.0.0/8
Registry Mirrors:
https://registry.docker-cn.com/
http://hub-mirror.c.163.com/
https://mirror.ccs.tencentyun.com/
https://docker.mirrors.ustc.edu.cn/
https://cr.console.aliyun.com/
Live Restore Enabled: false
看到上面输出的信息,说明 Windows
环境的 Docker Desktop
就安装完成了,此处是使用 WSL2
安装的 linux
发行版,我们可以 linux
原生环境体验 Docker
的相关操作。