こんにちは、フルスタックエンジニアのryuです。
今回の記事は、Laravel Sailで”docker is not running” というエラーがでた場合の対処方法について解説します。WindowsでLaravel Sailを動作させたいときに”docker is not running”というエラーが発生しました。原因は、Docker DesktopがWSL2で動いていないことでした。対処方法について詳しく解説します。
目次
Laravel Sailで”docker is not running” というエラーがでた場合の対処方法
WindowsでLaravel Sailを使って環境を構築しようとした際に以下のエラーが発生しました。
curl -s https://laravel.build/app | bash
→docker is not running
“docker is not running”というエラーです。これは、Dockerが動いていないという意味です。原因は以下の2つがあります。
- そもそもDocker Desktopが動いていない
- WSL上でDockerが使えていない
この2つの原因に対して対処方法を解説します。また、WindowsでLaravel Sailを使う準備についてはこちらの記事で詳しく解説しています。
そもそもDockerが動いていない | “docker is not running”の対処法①
まず、一つ目の原因がそもそもDockerが動いていないということです。Docker Desktopを開いて、ステータスが”running”になっていることを確認してください。
RUNNINGになっていない場合は、Docker Desktopを再起動するか再インストールするかして、動作させるようにしましょう。Docker Desktopが起動しない場合の対処方法はこちらの記事で詳しく解説しています。
WSL上でDockerが使えない | “docker is not running”の対処法②
Laravel SailでLaravel環境を構築する場合は、WSL上でコマンドを実行させる必要があります。この場合、WSL上でDockerを使えるようにする必要があります。
WSL上でDockerを使うためにはWSL2にする必要があります。cmdで以下のコマンドを入力すると、WSLのバージョンを確認することができます。
wsl.exe -l -v
私の環境では、WSL2になっていませんでした。そのため、DockerがWSL上で使えず、”docker is not running”というエラーが発生していました。
バージョンを上げるためには、以下のコマンドを入力します。
wsl --set-version Debian 2
//書式
wsl --set-version <distro> 2
その後、DockerDesktopの設定画面から、「Resources」→「WSL INTEGRATION」→ 「Debianを選択」
これで完了です!LaravelSailが実行できるようになりました。
・参考:WSL で Docker コンテナーを使ってみる | Microsoft Docs
・関連記事:【初心者向け】linuxを簡単にインストールする方法とは?【WSLで最速で構築】
“docker is not running” というエラーがでた場合の対処方法まとめ
今回の記事では”docker is not running”というエラーについて解説しました。Laravel Sailのエラーでハマった方は是非参考にして下さい。
当ブログでは、このようなITに関連する記事を発信しているので興味のある方は是非ご覧ください。
Laravelについてさらに勉強したい方はこちら。