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)
私もこの同じ問題に直面しました。すべてのMobyLinuxVM仮想マシンを削除することで解決しました。以下はその手順です。
これらの手順は私のシステムでこの問題を解決しました。
管理者モードでコマンドプロンプトから“MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof”
を実行します。この実行後、マシンを再起動する必要もありませんでした。
Windowsコンテナーを実行しようとしていると仮定します。
Dockerシステムトレイアイコンを右クリックして、[Windowsコンテナに切り替え]を選択します。
最終的にはシステムを再起動しますが、エラーメッセージに記載されているようにMobyLinuxVmを実行しようとしなくなります。
それが誰かを助ける場合、私はAppleハードウェア(MacOS)でWindows 10を実行しているVM Parallels経由です。並列設定>プロセッサメモリ>詳細設定、ハイパービジョンアプリケーションを有効にしました。
この問題はこれと非常によく似ています。別の質問 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の更新によって元に戻されます。気をつけて...
Windows 10 Proをバージョン1809にアップデートして問題を修正しました
Windows 10では、以下の手順を実行して問題を修正しました。
フランス語版Windowsバージョン:
英語版Windowsバージョン:
これが他の誰かを助けることを願っています。