Windows 10 安装 Decker Desktop
安装
Docker 官网提供了 Windows 10 平台下的 Docker Desktop 的安装教程: docker-for-windows 。
同时微软也提供 安装 WSL 1 与更新到 WSL 2 文档。
这两份文档,请一起进行参考。
安装子系统
-
打开 Microsoft Store ,搜索
Ubuntu
、Debian
等主流的 Linux 系统发行版并安装。 -
安装完后,可以在菜单中搜索
Ubuntu
等信息,或者在 PowerShell 中输入ubuntu
并用Tab
键补全。
注意:如果没有打开 “适用于 Linux 的 Windows 子系统” 功能,则会报错。
子系统安装 Docker
- 请参考: [系列] Docker 入门 。该系列包含了安装、学习以及实践。
添加用户组
在子系统中将读者初始化时的用户加入 docker
用户组。[USER]
为读者的初始化时的用户名。
复制sudo adduser [USER] docker
重启计算机,并执行与子系统中执行:
复制sudo service docker start
配置 WSL 2
-
在 “Windows 设置” 中搜索 “启用或关闭 Windows 功能” ,开启 “适用于 Linux 的 Windows 子系统” 和 “虚拟机平台” ,等待安装,重启计算机。
-
在管理员权限的 PowerShell 中,输入指令:
复制
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
提示:
复制
Enable-WindowsOptionalFeature: Microsoft-Windows-Subsystem-Linux Running [oooooooooo ] # 随后刷新为 Path : Online : True RestartNeeded : False
重启计算机。
-
输入指令将子系统配置为 WSL 2,可能会遇到错误请看下一小点:
复制
wsl --set-version [SUBSYSTEM NAME] [版本号]
示例:
复制
wsl --set-version Ubuntu-20.04 2
可以使用
wsl -l -v
来查看子系统分发的详细信息。复制
PS C:\Users\xxxxx> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2
-
由于 Windows 10 默认开启 WSL 后为 1 版本,使用 2 版本大部分情况下会提示:
复制
WSL 2需要更新其内核组件。有关信息,请访问https://aka.ms/wsl2kernel 有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
前往 微软 - 适用于 Linux 的 Windows 子系统安装指南 (Windows 10) 进行 步骤 4 - 下载 Linux 内核更新包 。
安装重启即可。
-
设置 WLS 2 占用,在任务管理器表现为
Vemmem
占用过大,默认一般为 2G 左右。- 按下Windows + R 键,输入
%UserProfile%
并运行进入用户文件夹 - 新建文件
.wslconfig
,输入如下配置保存:
复制
[wsl2] memory=2GB swap=0 localhostForwarding=true
memory
为 WSL 2 内存上限,swap
为交换分区,可自行配置。管理员权限 PowerShell 中输入
wsl --shutdown
来关闭当前的子系统和 WSL 内存占用。 - 按下Windows + R 键,输入
启动 Docker Desktop
弹窗 Error
复制System.InvalidOperationException:
Failed to set version to docker-desktop: exit code: -1
若提示以上信息,这里有两种方法。
临时解决
复制netsh winsock reset
长期解决
本小点以下引用内容由网络搜集,并未尝试,请注意信息数据安全。
下载NoLsp(需要使用VPN等)
下载的文件建议放在
C:\Windows\System32
下,也可以随便放,位置你知道就行,如果不是 NoLsp.exe 建议重命名一下,当前也可以不重命名,使用方便就行了。管理员权限下 PowerShell 中输入:
复制NoLsp.exe c:\windows\system32\wsl.exe
如果不对,肯定是路径不对。
若成功,提示:
Success!
。右键 Docker Desktop 重启即可。
更多问题
蓝屏
说到底,通过 WSL 2 安装 Docker Desktop 还是使用 Hyper-V 的技术,所以一切可能和 Hyper-V 产生冲突的虚拟机技术都会产生各种各样的问题。
比如我是不想要将项目在多个平台之间重复移动,想要在一台主机上完成多个平台上项目的适配,但是安上没一会儿我就卸载了 Docker Desktop ,关闭了 “启用或关闭 Windows 功能” 中的 “虚拟机平台” 功能。
原因是使用它导致了电脑出现蓝屏等问题。
我平时是不使用手机玩游戏的,这种做法有着耗电高、续航差等等的缺点,所以一直都是使用 mumu 手游助手(沙盒化的安卓模拟器)玩些手游。但是安装好 Docker Desktop 后,却与模拟器功能冲突:
复制很抱歉,检测到您尚未关闭 “Hyper-V”
会引起电脑蓝屏等问题,点击下方按钮查看解决办法

所以我终究还是卸载了 Docker Desktop 只保留下了的子系统。
更多参考
作者:Yogile
出处:https://www.cnblogs.com/Yogile/p/15001792.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-07-12 家庭组网启用 NAS
2020-07-12 IDEA项目Gradle文件不在Git上传规则中被标红