草庐IT

windows - 手动删除 Hyper-V 中的 MobyLinuxVM 后,Windows 10 上的 Docker 无法启动

coder 2023-05-06 原文

起初,docker 在我的正式版 Windows 10 上运行良好。

然后我出于某种原因删除了 Hyper-V 中的 MobyLinuxVM。之后, docker 无法工作。

然后我关闭了Hyper-V的功能并卸载了docker(当然是重启了电脑)。

然后我重新安装 docker 并再次打开 Hyper-V 的功能。但是 docker 仍然无法工作。

我已经在google上尝试了一些解决方案,但问题仍然存在。
我在 docker 启动期间检查了 MobyLinuxVM 的状态,发现 MobyLinuxVM 从未创建。

有人知道怎么解决吗?

这是屏幕截图和日志:

[Version: 1.13.1 (10072)
Channel: Stable
Sha1: 94675c5a765e2c51fba6c10b87e0a1a4ed3dde51
Started on: 2017/02/23 09:35:27.478
Resources: C:\Program Files\Docker\Docker\Resources
OS: Windows 10 Pro
Edition: Professional
Id: 1511
Build: 10586
BuildLabName: 10586.672.amd64fre.th2_release_sec.161024-1825
File: C:\Users\212599222\AppData\Local\Docker\log.txt
CommandLine: "C:\Program Files\Docker\Docker\Docker for Windows.exe" 
You can send feedback, including this log file, at https://github.com/docker/for-win/issues
\[09:35:27.603\]\[GUI            \]\[Info   \] Starting...
\[09:35:28.290\]\[Tracking       \]\[Info   \] Crash report and usage statistics are enabled
\[09:35:28.306\]\[SegmentApi     \]\[Info   \] Usage statistic: appLaunched
\[09:35:28.625\]\[SegmentApi     \]\[Error  \] Failed to track event appLaunched: An error occurred while sending the request.
\[09:35:28.625\]\[NamedPipeClient\]\[Info   \] Sending Version()...
\[09:35:28.641\]\[NamedPipeClient\]\[Info   \] Received response for Version
\[09:35:28.641\]\[SegmentApi     \]\[Info   \] Usage statistic: heartbeat
\[09:35:28.641\]\[SegmentApi     \]\[Error  \] Failed to track event heartbeat: An error occurred while sending the request.
\[09:34:34.255\]\[BackendServer  \]\[Info   \] Started
\[09:35:28.641\]\[NamedPipeServer\]\[Info   \] Version()
\[09:35:28.641\]\[NamedPipeServer\]\[Info   \] Version done in 00:00:00.
\[09:35:28.841\]\[Updater        \]\[Info   \] Checking for updates on channel Stable...
\[09:35:28.841\]\[NamedPipeClient\]\[Info   \] Sending Start(Docker.Core.Settings)...
\[09:35:28.858\]\[NamedPipeServer\]\[Info   \] Start(Docker.Core.Settings)
\[09:35:28.863\]\[UpdateFeedDownloader\]\[Error  \] The remote name could not be resolved: 'download.docker.com'
\[09:35:28.863\]\[Updater        \]\[Info   \] No update available
\[09:35:28.862\]\[PowerMode      \]\[Info   \] Stop
\[09:35:28.863\]\[HyperV         \]\[Info   \] Stop
\[09:35:28.863\]\[PowerShell     \]\[Info   \] Run script with parameters: -Stop True...
\[09:35:28.863\]\[PowerShell     \]\[Info   \] Creating a Runspace Pool...
\[09:35:29.909\]\[PowerShell     \]\[Info   \] Runspace Pool created (Min=1, Max=2)
\[09:35:29.969\]\[HyperV         \]\[Info   \] Script started at 09:35:29.964
\[09:35:33.783\]\[HyperV         \]\[Info   \] Module loaded at 09:35:33.783
\[09:35:33.983\]\[HyperV         \]\[Info   \] VM MobyLinuxVM does not exist
\[09:35:33.983\]\[HyperV         \]\[Debug  \] \[stop\] took 00:00:05.1195593 to run
\[09:35:33.983\]\[OptimizeDisk   \]\[Info   \] Optimize
\[09:35:33.983\]\[PowerShell     \]\[Info   \] Run script...
\[09:35:33.999\]\[Moby           \]\[Info   \] Stop
\[09:35:34.014\]\[HyperVGuids    \]\[Info   \] Installing GUIDs...
\[09:35:34.014\]\[PowerMode      \]\[Info   \] Start
\[09:35:34.014\]\[HyperV         \]\[Info   \] Create
\[09:35:34.014\]\[PowerShell     \]\[Info   \] Run script with parameters: -Create True -VhdPathOverride  -SwitchSubnetAddress 10.0.75.0 -SwitchSubnetMaskSize 24 -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso...
\[09:35:34.014\]\[HyperVGuids    \]\[Info   \] GUIDs installed
\[09:35:34.033\]\[HyperV         \]\[Info   \] Script started at 09:35:34.033
\[09:35:34.036\]\[Firewall       \]\[Info   \] Removing all existing rules...
\[09:35:34.115\]\[HyperV         \]\[Info   \] Module loaded at 09:35:34.115
\[09:35:34.315\]\[HyperV         \]\[Info   \] Enabled workaround for Build 10586 VMSwitch issue
\[09:35:34.518\]\[Firewall       \]\[Info   \] All existing rules are removed.
\[09:35:34.518\]\[Firewall       \]\[Info   \] Opening ports for C:\Program Files\Docker\Docker\Resources\com.docker.proxy.exe...
\[09:35:35.451\]\[Firewall       \]\[Info   \] Opening ports for SMB...
\[09:35:36.358\]\[Firewall       \]\[Info   \] Ports are opened
\[09:36:31.192\]\[HyperV         \]\[Info   \] Creating Switch: DockerNAT...
\[09:37:26.994\]\[HyperV         \]\[Info   \] Switch created.
\[09:37:28.917\]\[Linux          \]\[Error  \] Failed to start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists.

. Let's retry
\[09:37:28.917\]\[PowerShell     \]\[Info   \] Run script...
\[09:37:42.595\]\[HyperV         \]\[Info   \] Hyper-V is running
\[09:37:42.595\]\[PowerMode      \]\[Info   \] Stop
\[09:37:42.595\]\[HyperV         \]\[Info   \] Stop
\[09:37:42.596\]\[PowerShell     \]\[Info   \] Run script with parameters: -Stop True...
\[09:37:42.602\]\[HyperV         \]\[Info   \] Script started at 09:37:42.602
\[09:37:42.707\]\[HyperV         \]\[Info   \] Module loaded at 09:37:42.707
\[09:37:42.728\]\[HyperV         \]\[Info   \] VM MobyLinuxVM does not exist
\[09:37:42.728\]\[HyperV         \]\[Debug  \] \[stop\] took 00:00:00.1332364 to run
\[09:37:42.728\]\[OptimizeDisk   \]\[Info   \] Optimize
\[09:37:42.728\]\[PowerShell     \]\[Info   \] Run script...
\[09:37:42.744\]\[Moby           \]\[Info   \] Stop
\[09:37:42.752\]\[HyperV         \]\[Info   \] Destroy
\[09:37:42.753\]\[PowerShell     \]\[Info   \] Run script with parameters: -Destroy True -KeepVolume True...
\[09:37:42.761\]\[HyperV         \]\[Info   \] Script started at 09:37:42.761
\[09:37:42.850\]\[HyperV         \]\[Info   \] Module loaded at 09:37:42.850
\[09:37:42.864\]\[HyperV         \]\[Info   \] VM MobyLinuxVM does not exist
\[09:37:42.865\]\[HyperV         \]\[Info   \] Destroying Switch DockerNAT...
\[09:38:02.148\]\[HyperV         \]\[Info   \] Removing VM MobyLinuxVM...
\[09:38:02.163\]\[HyperV         \]\[Debug  \] \[destroy\] took 00:00:19.4109973 to run
\[09:38:02.163\]\[Firewall       \]\[Info   \] Closing ports...
\[09:38:02.163\]\[Firewall       \]\[Info   \] Removing all existing rules...
\[09:38:02.335\]\[Firewall       \]\[Info   \] Removing DockerProxy...
\[09:38:02.512\]\[Firewall       \]\[Info   \] Removed DockerProxy.
\[09:38:02.694\]\[Firewall       \]\[Info   \] Removing DockerSmbMount...
\[09:38:02.889\]\[Firewall       \]\[Info   \] Removed DockerSmbMount.
\[09:38:03.050\]\[Firewall       \]\[Info   \] All existing rules are removed.
\[09:38:03.050\]\[Firewall       \]\[Info   \] Ports are closed
\[09:38:03.051\]\[HyperVGuids    \]\[Info   \] Removing GUIDs...
\[09:38:03.056\]\[HyperVGuids    \]\[Info   \] GUIDs removed
\[09:38:03.057\]\[HyperV         \]\[Info   \] Create
\[09:38:03.057\]\[PowerShell     \]\[Info   \] Run script with parameters: -Create True -VhdPathOverride  -SwitchSubnetAddress 10.0.75.0 -SwitchSubnetMaskSize 24 -CPUs 2 -Memory 2048 -IsoFile C:\Program Files\Docker\Docker\Resources\mobylinux.iso...
\[09:38:03.063\]\[HyperV         \]\[Info   \] Script started at 09:38:03.063
\[09:38:03.122\]\[HyperV         \]\[Info   \] Module loaded at 09:38:03.122
\[09:38:03.178\]\[HyperV         \]\[Info   \] Enabled workaround for Build 10586 VMSwitch issue
\[09:38:13.824\]\[HyperV         \]\[Info   \] Creating Switch: DockerNAT...
\[09:38:28.719\]\[HyperV         \]\[Info   \] Switch created.
\[09:38:29.134\]\[PowerMode      \]\[Info   \] Stop
\[09:38:29.134\]\[HyperV         \]\[Info   \] Stop
\[09:38:29.135\]\[PowerShell     \]\[Info   \] Run script with parameters: -Stop True...
\[09:38:29.142\]\[HyperV         \]\[Info   \] Script started at 09:38:29.141
\[09:38:29.223\]\[HyperV         \]\[Info   \] Module loaded at 09:38:29.223
\[09:38:29.236\]\[HyperV         \]\[Info   \] VM MobyLinuxVM does not exist
\[09:38:29.237\]\[HyperV         \]\[Debug  \] \[stop\] took 00:00:00.1021625 to run
\[09:38:29.237\]\[OptimizeDisk   \]\[Info   \] Optimize
\[09:38:29.237\]\[PowerShell     \]\[Info   \] Run script...
\[09:38:29.247\]\[Moby           \]\[Info   \] Stop
\[09:38:29.253\]\[HyperV         \]\[Info   \] Destroy
\[09:38:29.254\]\[PowerShell     \]\[Info   \] Run script with parameters: -Destroy True -KeepVolume True...
\[09:38:29.262\]\[HyperV         \]\[Info   \] Script started at 09:38:29.261
\[09:38:29.335\]\[HyperV         \]\[Info   \] Module loaded at 09:38:29.335
\[09:38:29.347\]\[HyperV         \]\[Info   \] VM MobyLinuxVM does not exist
\[09:38:29.348\]\[HyperV         \]\[Info   \] Destroying Switch DockerNAT...
\[09:38:38.264\]\[HyperV         \]\[Info   \] Removing VM MobyLinuxVM...
\[09:38:38.276\]\[HyperV         \]\[Debug  \] \[destroy\] took 00:00:09.0233008 to run
\[09:38:38.276\]\[Firewall       \]\[Info   \] Closing ports...
\[09:38:38.276\]\[Firewall       \]\[Info   \] Removing all existing rules...
\[09:38:38.488\]\[Firewall       \]\[Info   \] All existing rules are removed.
\[09:38:38.488\]\[Firewall       \]\[Info   \] Ports are closed
\[09:38:38.488\]\[HyperVGuids    \]\[Info   \] Removing GUIDs...
\[09:38:38.488\]\[HyperVGuids    \]\[Info   \] GUIDs removed
\[09:38:38.493\]\[NamedPipeServer\]\[Error  \] Unable to execute Start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists.

    at Docker.Backend.HyperV.RunScript(String action, Dictionary`2 parameters)
   at Docker.Backend.ContainerEngine.Linux.Start(Settings settings)
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass8_0.<Register>b__0(Object\[\] parameters)
   at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object\[\] parameters)
\[09:38:38.565\]\[NamedPipeClient\]\[Error  \] Unable to send Start: Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists.


\[09:38:38.567\]\[Notifications  \]\[Error  \] Unable to create: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The object already exists. 


\[09:39:59.534\]\[SegmentApi     \]\[Info   \] Usage statistic: actionMenuSettings
\[09:40:07.295\]\[ErrorReportWindow\]\[Info   \] Open logs][1]

最佳答案

Then I reinstall the docker and turn on the feature of Hyper-V again.

请务必先开启 Hyper-V 的功能(并重启)

然后 reinstall Docker for Windows .
见“What to know before you install”:

The current version of Docker for Windows runs on 64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later).

The Hyper-V package must be enabled for Docker for Windows to work. The Docker for Windows installer will enable it for you, if needed.

docker/for-win issue 248 中报告了您的特定错误消息在此之前 issue 214

Unable to create: 
The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 
The object already exists.

作为 noted in this commenthere ,尝试删除保存的虚拟机并重新启动。

you should be in C:\Program Files\Docker\Docker\resources to run the commands.
So let me refine the sequence of commands that you could run:

  • 退出应用程序
  • 停止服务com.docker.service
  • cd 'C:\Program Files\Docker\Docker\resources'
  • .\MobyLinux.ps1 -Destroy
  • 检查是否删除了 VHDX 文件(C:\Users\Public\Public Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx)
  • .\MobyLinux.ps1 -创建

关于windows - 手动删除 Hyper-V 中的 MobyLinuxVM 后,Windows 10 上的 Docker 无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42500353/

有关windows - 手动删除 Hyper-V 中的 MobyLinuxVM 后,Windows 10 上的 Docker 无法启动的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  3. ruby - 我可以使用 Ruby 从 CSV 中删除列吗? - 2

    查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html

  4. ruby - 我可以使用 aws-sdk-ruby 在 AWS S3 上使用事务性文件删除/上传吗? - 2

    我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的

  5. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  6. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  7. ruby-on-rails - 标准化文件名的字符串,删除重音和特殊字符 - 2

    我正在尝试找到一种方法来规范化字符串以将其作为文件名传递。到目前为止我有这个:my_string.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n,'').downcase.gsub(/[^a-z]/,'_')但第一个问题:-字符。我猜这个方法还有更多问题。我不控制名称,名称字符串可以有重音符、空格和特殊字符。我想删除所有这些,用相应的字母('é'=>'e')替换重音符号,并将其余的替换为'_'字符。名字是这样的:“Prélèvements-常规”“健康证”...我希望它们像一个没有空格/特殊字符的文件名:“prelevements_routin

  8. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  9. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  10. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

随机推荐