経緯
先日、「Docker-Desktop」をインストールした際に、初歩の初歩である「docker run hello-world」コマンドでエラーが発生し、先に進めなくなってしまいました。
当時の自分と同じくパニックになった方や、自分への備忘録のためとして残しておきたいと思います。
エラーの内容
> docker run hello-world
docker: error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create": open //./pipe/docker_engine: The system cannot find the file specified.
【原因】WSLの有効化がされていない
端的に自分の場合の原因は、「WSLが有効化されていないこと」でした。
お急ぎの方は下のリンクから参照ください。
WSL とは
WSL とは「Windows Subsystem for Linux」の略称で、
大雑把に言えば「Windows上で動くLinux」
のことのようです。
WSL有効化の手順 ①PowerShellでコマンド実行
WSLを有効化するためには PowerShell でコマンドを実行する必要があります。
「Ctrlキー」と「Rキー」を同時に押してください。
「名前(O):」のところに「powershell」
と入力して OK を押します。
PowerShellの青い画面が開いたら、以下のコマンドを実行してください。
PS> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
続けて、以下のコマンドを実行してください。
PS> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
※ここでエラーが発生すると、バージョンがWSLに対応していない可能性があります。
こちらのサイトで確認をしてください。
WSL有効化の手順 ②最新のパッケージをダウンロード
以下のリンク先から最新のパッケージをダウンロードします。
ダウンロードしたら、パッケージをダブルクリックして実行してください。
WSL有効化の手順 ③WSL2を既定のバージョンとして設定する
PowerShellで以下のコマンドを実行してください。
PS> wsl --set-default-version 2
WSL有効化の手順 ④docker run hello-worldの実行
お気に入りのターミナルで以下のコマンドを実行してください。
> docker run hello-world
`「Hello from Docker!」と表示されれば成功です!
その他の原因
「docker-users」というユーザがwindowsに登録されていないからという場合もあるようです。
参考サイトを併せて記載します
おわりに
Docker を入れるだけ入れてみようと考えたら、エラー対処に相当時間を食われました...。
しかもHello-World...。
落ち込んでいる暇があれば共有して同じ失敗を減らそうと考えて投稿させていただきました。
誰かの助けに少しでもなれば幸いです。
読んでいただき、ありがとうございました。
Twitter ( ITの虫 ) のフォローもぜひよろしくお願い致します。