web-dev-qa-db-ja.com

Windows 10でDockerを起動できない-Hyper-Vエラーがスローされる

Windows 10でdockerを起動すると、以下のエラーが表示されます。誰でも私にdockerを正しくインストールするように案内できますか?

Unable to create: The running command stopped because the preference variable 
"ErrorActionPreference" or common parameter is set to Stop: Hyper-V encountered
an error trying to access an object on computer 'XXXX' because the object was not 
found. The object might have been deleted, or you might not have permission to 
perform the task. Verify that the Virtual Machine Management service on the 
computer is running. If the service is running, try to perform the task again by 
using Run as Administrator.
at New-MobyLinuxVM, <No file>: line 242
at <ScriptBlock>, <No file>: line 362
   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)

バージョン

OS : Windows 10 Enterprise 
Version : 1607 
OS Build : 14393.576
Docker Version : 1.12.3 (Stable)
10
sankar

私もこの同じ問題に直面しました。すべてのMobyLinuxVM仮想マシンを削除することで解決しました。以下はその手順です。

  1. Hyper-Vマネージャーを開く
  2. 仮想マシンからすべてのMobyLinuxVMを選択します。
  3. これらの仮想マシンをすべて右クリックして削除します。
  4. Dockerを再起動します。

これらの手順は私のシステムでこの問題を解決しました。

7
Ismail Zafar

管理者モードでコマンドプロンプトから“MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof”を実行します。この実行後、マシンを再起動する必要もありませんでした。

6
Ankur Mukherjee

Windowsコンテナーを実行しようとしていると仮定します。

Dockerシステムトレイアイコンを右クリックして、[Windowsコンテナに切り替え]を選択します。

最終的にはシステムを再起動しますが、エラーメッセージに記載されているようにMobyLinuxVmを実行しようとしなくなります。

それが誰かを助ける場合、私はAppleハードウェア(MacOS)でWindows 10を実行しているVM Parallels経由です。並列設定>プロセッサメモリ>詳細設定、ハイパービジョンアプリケーションを有効にしました。

4
ToddBFisher

この問題はこれと非常によく似ています。別の質問 Docker-コンピューター 'WINDOWS10-ON-SE'は解決できませんでした

https://stackoverflow.com/a/45099242/279272 で私の答えを参照してください

私も同じ問題に直面していましたが、それは本質的にランダムでした、それはdocker startスクリプトによってネットワークカードにアクセスできないことが原因であることがわかりました。このアクセス不能はさらに、Dockerの起動プロセスをブロックします。

ハックを1つ見つけましたが、私のWindowsマシンでは問題なく動作しています

ハック

管理者モードのエディタで_C:\Program Files\Docker\Docker\resources\mobylinux.ps1_を開きます。次のコードを見つけます(164行目あたり)

_$networkAdapter | Remove-NetIPAddress -Confirm:$false -ea SilentlyContinue

$networkAdapter | Set-NetIPInterface -Dhcp Disabled -ea SilentlyContinue

$networkAdapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress $switchAddress -PrefixLength ($SwitchSubnetMaskSize) -ea Stop | Out-Null
_

以下のような新しい行の165行目の後にreturnを追加して、ファイルを保存します。

_$networkAdapter | Remove-NetIPAddress -Confirm:$false -ea SilentlyContinue

$networkAdapter | Set-NetIPInterface -Dhcp Disabled -ea SilentlyContinue

return

$networkAdapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress $switchAddress -PrefixLength ($SwitchSubnetMaskSize) -ea Stop | Out-Null
_

Dockerを再起動し、再起動が完了したら、DOS管理モードで次のコマンドを実行して、ネットワークカードを手動でセットアップします。

netsh interface ipv4 set address name="vEthernet (DockerNAT)" static 10.0.75.1 255.255.255.0

(何らかの理由により)システムを再起動し、Dockerが起動プロセスを完了するたびに、このコマンドを実行する必要があります。ヒント:このコマンドのバッチファイルを作成して、どこかに保存してください。

注:psハックは、Dockerの更新によって元に戻されます。気をつけて...

1
Mukesh Agarwal

Windows 10 Proをバージョン1809にアップデートして問題を修正しました

0
Panneerselvam

Windows 10では、以下の手順を実行して問題を修正しました。

フランス語版Windowsバージョン:

  1. Dockerデスクトップを閉じる
  2. 「アプリケーションとナビゲーターの制御」に移動します
  3. 「Exploit protection」の下にある「Paramètred'exploit protection」をクリックします
  4. 「Paramètresdu programme」タブに移動します
  5. 「C:\ Windows\System32\vmcompute.exe」または「vmcompute.exe」を検索します
  6. 更新をクリックして、すべての構成に関連するすべてのチェックボックスをオフにしてから、適用します
  7. Dockerデスクトップを再度実行します

英語版Windowsバージョン:

  1. Dockerデスクトップを閉じる
  2. 「アプリとブラウザコントロール」に移動します
  3. 「エクスプロイト保護」の下の「エクスプロイト保護設定」をクリックします
  4. 「プログラム設定」タブに移動します
  5. 「C:\ Windows\System32\vmcompute.exe」または「vmcompute.exe」を検索します
  6. 更新をクリックして、すべての構成に関連するすべてのチェックボックスをオフにしてから、適用します
  7. Dockerデスクトップを再度実行します

これが他の誰かを助けることを願っています。