u-sakutaro
@u-sakutaro

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

助けてください><

解決したいこと

DockerDesktopにてSettingsのUse the WSL2 based engineにチェックを入れると起動しない。
どなたか助けてください ><

発生している問題・エラー

Docker Desktop -Ubuntu
WSL integration with distro Ubuntu unexpectedly stopped with exit code1.
Do you want to restart it?

自分で試したこと

エラー内容で検索し、出てきたこちら↓の内容を参考にさせていただきながらおおよそ試しました。
https://github.com/docker/for-win/issues/9972

上記記事の大まかな内容ですが
コントロールパネルのWindowsの機能の有効化または無効化を開き、
Linux用Windowsサブシステム(windows subsystem for Linux)
仮想マシンプラットフォーム
にチェックが入っていることを確認しました。

WSLのpowershellの管理者モードにて

wsl -l -v

にて
・default version が2になっていること
・WSLのディストリビューションにUbuntuが選択されていることを確認しました。

・DockerDesktopのdebagにてClean / Purge data、アンインストール
・Ubuntuのアンインストール
・WSLのアンインストール
(すべてコントロールパネルのWindowsの機能の有効化または無効化にて、
Linux用Windowsサブシステム(windows subsystem for Linux)
仮想マシンプラットフォーム
のチェックを外し、再起動を行ったうえでアンインストールを実施しております。)

などを試してみましたがエラー内容は変わらず、起動できませんでした。

唯一DockerDesktopを再度インストールする際に、
WSL2オプションをチェックoffにしてインストールしたところDockerのチュートリアルが起動したので、DockerDesktop側ではなくWSL2に紐づけをする際のエラーなのではないかと推測しております。

もうひとつエラーメッセージが出ていたのですがこちらはさっぱり何を言っているのかわからず、触れていません。

An Error Occured

System.TimeoutException:
操作がタイムアウトしました。
   場所 System.IO.Pipes.NamedPipeClientStream.ConnectInternal(Int32 timeout, CancellationToken cancellationToken, Int32 startTime)
   場所 System.Threading.Tasks.Task.Execute()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 HttpOverStream.NamedPipe.NamedPipeDialer.<DialAsync>d__8.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 HttpOverStream.Client.DialMessageHandler.<SendAsync>d__9.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Core.IPC.Client.<SendAsync>d__5.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Core\IPC\Client.cs:行 40
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Core.HttpClientExtensions.<GetJsonAsync>d__0`1.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Core\HttpClientExtensions.cs:行 16
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.LifecycleClient.<GetDockerStateAsync>d__4.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\LifecycleClient.cs:行 49
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   場所 Docker.Engines.LinuxkitDaemonStartup.<WaitAsync>d__5.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\LinuxkitDaemonStartup.cs:行 60
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__26.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:行 170
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:行 29
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__6.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行 72
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__6.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行 99
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__15.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:行 72
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
   場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   場所 Docker.Engines.Engines.<StartAsync>d__23.MoveNext() 場所 C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:行 109

どなたか心優しい方、ご教授いただけると幸いです。

0

2Answer

記載されているissuesと同じ内容の質問について書かれていますが、ここで指摘されている対策の一つにWindowsコマンドへのパスがあります。
https://stackoverflow.com/questions/71644746/docker-wsl-2-integration-with-distro-ubuntu-20-04-unexpectedly-stopped-with-exi

.wslconfigに何か設定を加えていませんか?

もう一つ、サブシステム自体ははinbox版を使われているようです。

C:\> wsl.exe --update

上記コマンドで最新のストア版に更新すると変化はありますか?
過去のWSLには多くのバグがあってその中にはWindowsコマンドとのインテグレーションが機能しなくなる問題もあったので新しいものにすると改善があるかもしれません。

2Like

Comments

  1. @u-sakutaro

    Questioner

    ご回答ありがとうございます!
    いただいた情報をもとにシステム環境変数にC:\Windows\System32を追加し、PCの再起動を行ったところ、無事DockerDesktopが動き出しました。うれしくて涙が出ました!
    本当にありがとうございました。
    また質問させていただくことがあるかと思いますが、何卒よろしくお願いいたします。

Your answer might help someone💌