我正试图在Windows 10 Pro 21H1上安装Docker Desktop,但我不断收到以下错误:
Component CommunityInstaller.EnableFeaturesAction failed: Not found
at CommunityInstaller.InstallWorkflow.<DoHandleD4WPackageAsync>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at CommunityInstaller.InstallWorkflow.<DoProcessAsync>d__23.MoveNext()
我已尝试删除:
C:Program Files
C:UsersusernameAppDataLocalDocker
C:UsersusernameAppDataLocalDocker Desktop
以及其他Docker相关文件夹。
我使用Ubuntu20在我的系统上运行得很好。
sid_c06@LAPTOP-HJCDC6N0:~$ wsl.exe -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
我在安装过程中尝试取消选中WSL2选项,但在安装后尝试启动Docker Desktop时,在WSL2上启动Linux容器的步骤失败了。
Unable to start
at Docker.Core.Pipe.NamedPipeClient.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters)
at Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean executeAfterStartCleanup)
at Docker.Actions.<>c__DisplayClass27_0.b__0()
at Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass17_0.<.ctor>b__1()
你能告诉我我做错了什么吗?此外,我应该直接在WSL2上的Ubuntu上安装Docker并跳过Docker Desktop吗?我找不到相同的具体步骤。如果这是个好主意,请告诉我。
我执行了许多操作来解决它,下面列出了这些操作。不过,我相信重置WMI是关键操作。
-
我删除了Windows:中所有剩余的Docker/Docker Desktop文件夹
~/AppData/Local/Docker ~/AppData/Roaming/Docker C:ProgramDataDocker C:Program FilesDocker
-
我还卸载并安装了以下windows功能:
Hyper-V
Windows Subsystem Linux
Windows Hypervision Platform
-
禁用的Windows服务
Power
-
重置WMI
-
禁用并停止WMI服务:
sc config winmgmt start= disabled net stop winmgmt
-
运行以下命令:
Winmgmt /salvagerepository %windir%System32wbem Winmgmt /resetrepository %windir%System32wbem
-
重新启用WMI服务并重新启动:
sc config winmgmt start= auto
(注意"="one_answers"auto"之间有一个空白(
-
如果问题仍然存在,请尝试以下步骤重建存储库:
-
禁用并停止WMI服务
sc config winmgmt start= disabled net stop winmgmt
(注意"="one_answers"disabled"之间有一个空白(
-
将存储库文件夹(位于
%windir%System32wbemrepository
(重命名为repository.old
-
重新启用WMI服务
sc config winmgmt start= auto
-
重新启动机器。
参考此超级用户答案
问题通常发生在Windows Management Instrumentation(WMI(
以管理员身份在cmd中运行此命令可修复问题:
CD C:WindowsSystem32WBEM && dir /b *.mof *.mfl | findstr /v /i uninstall > moflist.txt & for /F %s in (moflist.txt) do mofcomp %s
希望它也适用于你。在我的情况下,docker开始崩溃,我在中卸载了(遗憾的是,操作不当(。5天来,我一直在与这个docker问题作斗争,但这个命令对4.23.0来说很有魅力。