掲題の通りです。
Docker for Windowsが使うための条件は満たしております。
スペックは下記です。
- エディション:Windows10 Pro
- OSバージョン:1903
※2020/04/22 22:00
Dockerの旧バージョン(ver2.1.0.5)をインストールしたところエラー内容が下記のように変わりました。
Unable to create - ユーザー設定変数 "ErrorActionPreference" または共通パラメーターが Stop に設定されているため、実行中のコマンドが停止しました。Hyper-V で、コンピューター "マシン名" 上のオブジェクトにアクセスしようとしましたが、オブジェクトが見つからずエラーが発生しました。オブジェクトは削除された可能性があります。仮想マシン管理サービスがコンピューター上で実行されていることを確認してください。 場所 Docker.Core.Pipe.NamedPipeClient.<TrySendAsync>d__5.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 場所 Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters) 場所 Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean executeAfterStartCleanup) 場所 Docker.Actions.<>c__DisplayClass27_0.<ResetToDefault>b__0() 場所 Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass17_0.<.ctor>b__1()
※以下から編集前の文です。
Hyper-vを有効化し、Dockerをインストールした後何度立ち上げても下記のようなエラーが返ってきてしまいます。
※"マシン名"は自分のPCのデバイス名が記載されております(全て数字です。)
Docker.Core.DockerException: Docker.Core.Backend.BackendException: Unable to create Hyper-V VM: Hyper-V で、コンピューター "マシン名" 上のオブジェクトにアクセスしようとしましたが、オブジェクトが見つからずエラーが発生しました。オブジェクトは削除された可能性があります。仮想マシン管理サービスがコンピューター上で実行されていることを確認してください。 New-MobyLinuxVM、<ファイルなし>: 行 388 New-MobyLinux、<ファイルなし>: 行 182 <ScriptBlock>、<ファイルなし>: 行 810 System.Management.Automation.RuntimeException: Unable to create Hyper-V VM: Hyper-V で、コンピューター "マシン名" 上のオブジェクトにアクセスしようとしましたが、オブジェクトが見つからずエラーが発生しました。オブジェクトは削除された可能性があります。仮想マシン管理サービスがコンピューター上で実行されていることを確認してください。 New-MobyLinuxVM、<ファイルなし>: 行 388 New-MobyLinux、<ファイルなし>: 行 182 <ScriptBlock>、<ファイルなし>: 行 810 場所 Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings, String daemonOptions, Credential credential) 場所 Docker.Backend.ContainerEngine.Linux.Restart(Settings settings, String daemonOptions, Credential credential) 場所 Docker.Backend.BackendNamedPipeServer.<Run>b__8_3(Object[] args) 場所 Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) 場所 Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters) Microsoft.HyperV.PowerShell.VirtualizationException: Hyper-V で、コンピューター "マシン名" 上のオブジェクトにアクセスしようとしましたが、オブジェクトが見つからずエラーが発生しました。オブジェクトは削除された可能性があります。仮想マシン管理サービスがコンピューター上で実行されていることを確認してください。 Microsoft.Virtualization.Client.Management.ServerObjectDeletedException: Hyper-V で、コンピューター "マシン名" 上のオブジェクトにアクセスしようとしましたが、オブジェクトが見つからずエラーが発生しました。オブジェクトは削除された可能性があります。仮想マシン管理サービスがコンピューター上で実行されていることを確認してください。 場所 Microsoft.Virtualization.Client.Management.Server.LoadOSInfo() 場所 Microsoft.HyperV.PowerShell.VirtualizationObjectLocator.PrepareServerConnections(Server server, Boolean allowDownlevelServers) 場所 Microsoft.HyperV.PowerShell.VirtualizationObjectLocator.GetServer(String computerName) 場所 Microsoft.HyperV.PowerShell.ExceptionHelper.TryWithLogging[TInput,TOutput](Func`2 function, TInput input, IOperationWatcher operationWatcher) Microsoft.Management.Infrastructure.CimException: 見つかりませんでした 場所 Microsoft.Management.Infrastructure.Internal.Operations.CimSyncEnumeratorBase`1.MoveNext() 場所 System.Linq.Enumerable.Single[TSource](IEnumerable`1 source) 場所 Microsoft.Virtualization.Client.Management.CimSessionWrapper.GetInstance(String namespaceName, ICimInstance instanceId, CimOperationOptions options) 場所 Microsoft.Virtualization.Client.Management.Server.GetInstance(WmiObjectPath wmiObjectPath, CimOperationOptions options) 場所 Microsoft.Virtualization.Client.Management.Server.LoadOSInfo() 場所 Docker.Core.Pipe.NamedPipeClient.<TrySendAsync>d__5.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 場所 Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters) 場所 Docker.Actions.DoRestartVM(Settings previousSettings) 場所 Docker.Actions.<>c__DisplayClass34_0.<RestartVM>b__0() 場所 Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass18_0.<.ctor>b__1()
行った内容及び詳細を下記に記載いたします。
0. windowsの再起動
0. Hyper-Vのオンオフ
0. dockerの再インストール
0. 「C:\WINDOWS\System32\vmcompute.exe」の制御フローガード(CFG)のシステム設定の上書きのチェックを外して適用
0. C:\Program Files\Docker\Docker\resources 配下のPowerShellスクリプトで
powershell -NoProfile -ExecutionPolicy Unrestricted .\MobyLinux.ps1 -destroy
を実行
このうち番号5が実行できなかったのでこの辺りが怪しいと睨んでいます。
エラー内容は下記です。
詳細: VM DockerDesktopVM does not exist 詳細: Removing VM DockerDesktopVM... 詳細: Delete VHD Remove-MobyLinuxVM : 引数が空の文字列であるため、パラメーター 'Path' にバインドできません。 発生場所 C:\Program Files\Docker\Docker\resources\MobyLinux.ps1:499 文字:5 + Remove-MobyLinuxVM -Name $VmName -KeepVolume:$KeepVolume -VhdFile ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Remove-MobyLinuxVM]、ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Remove-MobyLinuxVM
ただその前にHyper-Vの仮想マシンホスト一覧を取得したところ
Hyper-V\Get-VMHost -ComputerName localhost
は実行できるのですが、
Hyper-V\Get-VMHost
が実行できませんでした。
Hyper-V\Get-VMHost : Hyper-V で、コンピューター ”マシン名” 上のオブジェクトにアクセスしようとしましたが、オブジェクトが見つからずエラー が発生しました。オブジェクトは削除された可能性があります。仮想マシン管理サービスがコンピューター上で実行されていることを確認してくださ い。 発生場所 行:1 文字:1 + Hyper-V\Get-VMHost + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (:) [Get-VMHost], VirtualizationException + FullyQualifiedErrorId : ObjectNotFound,Microsoft.HyperV.PowerShell.Commands.GetVMHost
長くなりましたがご教示いただけると幸いです。
参考にした記事
Docker for Windowsが起動してくれないので、処方箋を調べて色々試してみた
Docker for Windowsで起動エラーが起きた場合の対処
Dockerについて パート001
Docker Desktop for Windows で「Unable to create: ユーザー設定変数 “ErrorActionPreference” または共通パラメーターが Stop に設定されているため、実行中のコマンドが停止しました。」というエラーが出た時の対処方法
Hyper-Vの管理ツールで「仮想スイッチの一覧の取得中にエラーが発生しました」
回答2件
あなたの回答
tips
プレビュー