WSL2環境でdocker-compose up -dできない

Docker-compose up : Error while fetching server API version: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))

とのエラーが出る場合。

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

で解決した。

Troubleshoot: WSL2でDockerが起動しない

それでも解決しない場合

Windows上でDocker Desktopが起動しているかを確認する。

WSL2 上で Docker を実行する場合、以下の手順を確認してください。

  1. Docker Desktop for Windows をインストールして、WSL2 を有効化します。
  2. WSL2 内で docker コマンドを実行するために、docker CLI ツールをインストールします。以下のコマンドを実行してください。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
  1. WSL2 を再起動します。
  2. WSL2 内で Docker を使用するために、docker グループにユーザーを追加します。以下のコマンドを実行してください。
sudo usermod -aG docker $USER
  1. WSL2 を再起動します。
  2. 再起動後、新しいシェルを開いて、以下のコマンドを実行して Docker を確認してください。
docker ps

これで Docker が正常に動作するはずです。もし問題が続く場合は、再度お知らせください。

これで直った。

原因

そもそもdockerが正しく起動できていなかったっぽい。

docker ps

を叩いても、コンテナはおろかdockerすら動いている感じがしなかった。

どうやって気づいたか

ChatGPTくんに聞いたらdocker psするように諭されて気づいた。

以下引用

  1. Dockerの環境を確認する
    まず、Dockerが正しく動作していることを確認してください。以下のコマンドを実行します。
docker ps

もしDockerが正しく動作していない場合は、Dockerを再起動してください。

  1. Docker Composeのバージョンを確認する
    Docker Composeがインストールされていることを確認し、バージョンを確認してください。以下のコマンドを実行します。
docker-compose -v

Docker Composeがインストールされておらず、もしくはバージョンが古い場合は、最新版のDocker Composeをインストールしてください。

  1. Docker Composeファイルの構文を確認する
    Docker Composeファイルの構文が正しいかどうかを確認してください。以下のコマンドを実行します。
docker-compose config

もしエラーが出た場合は、ファイルの構文を修正してください。

  1. ネットワークの設定を確認する
    Docker Composeファイルに設定されているネットワークが正しく設定されているかどうかを確認してください。以下のコマンドを実行します。
docker network ls

もし設定されていない場合は、ネットワークを設定してください。

以上の手順を試しても解決しない場合は、より詳細なエラーメッセージを確認して、問題の解決方法を探してください。

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事