0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

docker または container desktopの起動エラー、「Could not resolve IP addresses for Host Entry Mode=Wsl」の解決方法

0
Posted at

このページは現象①②③④を満たしている場合の解決方法

現象

① container desktopの起動が途中で STOPPED になり、エラーログに
「Could not resolve IP addresses for Host Entry Mode=Wsl」
と言うメッセージが表示される。

② container desktopのポップアップで「could not initialize and start the daemon」と言うメッセージが出る。

原因が同じでもcontainer desktopの設定次第でメッセージが変わる可能性あり。メッセージの内容が異なる場合でも、④の条件を満たしているなら同じ解決方法を試すことをおすすめ。

③ Windows Powershellでwsl -l -vコマンド入力で確認したUbuntuのステータスがStoppedになっている

また、wsl --installコマンドを実行してもエラーが起こるか、UbuntuがStoppedのまま。
image.png

④ WSLのインストールディレクトリに「system.vhd」が存在しない。

一番重要。絶対条件。

ディレクトリは一般的には C:\Program Files\WSL

原因

WSLの「system.vhd」ファイルが勝手に削除されたことが原因。

なぜファイルが消えるのかは不明。
自分の周りではWindowsのアップデート後にファイルが消えるケースが多かった。
ファイルが消えたため、WSLが起動しなくなり、container desktopも起動しなくなる。

解決方法

要は、消えた system.vhdファイルをまた配置すればいい。

ではsystem.vhdファイルはどこから持ってくるのか?

microsoftのGitHubの最新インストールファイルから抽出する。

手順1

上記リンクから wsl.{バージョン名}.x64.msiをダウンロードする。

*x64のパソコンを使用していることを想定している

手順2

ファイルを抽出するための任意のフォルダを作り、powershellで下記のコマンドを打つ。

msiexec /a {msiファイルのパス}\{ダウンロードしたmsiファイルの名}/qb TARGETDIR={抽出したファイルを格納するためのフォルダのパス}\wsl

作者の場合、

wsl.2.3.24.0.x64.msi ファイルを c:\usr と言うフォルダに配置し、c:\usrで 抽出を行った。
↓はその時のコマンド
msiexec /a c:\usr\wsl.2.3.24.0.x64.msi /qb TARGETDIR=c:\usr\wsl

このコマンドを実行した後、指定したフォルダ/wsl/PFiles64/WSLにインストールファイルが全て展開され、その中に system.vhd ファイルがある。

手順3

system.vhdファイルを C:\Program Files\WSL にコピペする。

手順4

powershellでwsl --installコマンドを実行し、WSLを再起動する。

wsl -l -vコマンドでUbuntuのステータスがRunningになることを確認。
image.png

手順5

終わり。あとは 今まで通り docker を使えるはず。

因みに、他のパソコンからsystem.vhdファイルを送ってもらいダウンロードして C:\Program Files\WSLに配置しても解決することを確認。(クラウドにファイルをアップロードし、同じエラーが出るパソコンにvhdファイルをダウンロードさせたら解決した)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?