
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 を実行する場合、以下の手順を確認してください。
- Docker Desktop for Windows をインストールして、WSL2 を有効化します。
- WSL2 内で
docker
コマンドを実行するために、docker
CLI ツールをインストールします。以下のコマンドを実行してください。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- WSL2 を再起動します。
- WSL2 内で Docker を使用するために、
docker
グループにユーザーを追加します。以下のコマンドを実行してください。
sudo usermod -aG docker $USER
- WSL2 を再起動します。
- 再起動後、新しいシェルを開いて、以下のコマンドを実行して Docker を確認してください。
docker ps
これで Docker が正常に動作するはずです。もし問題が続く場合は、再度お知らせください。
↓
これで直った。
原因
そもそもdockerが正しく起動できていなかったっぽい。
docker ps
を叩いても、コンテナはおろかdockerすら動いている感じがしなかった。
どうやって気づいたか
ChatGPTくんに聞いたらdocker psするように諭されて気づいた。
以下引用
- Dockerの環境を確認する
まず、Dockerが正しく動作していることを確認してください。以下のコマンドを実行します。
docker ps
もしDockerが正しく動作していない場合は、Dockerを再起動してください。
- Docker Composeのバージョンを確認する
Docker Composeがインストールされていることを確認し、バージョンを確認してください。以下のコマンドを実行します。
docker-compose -v
Docker Composeがインストールされておらず、もしくはバージョンが古い場合は、最新版のDocker Composeをインストールしてください。
- Docker Composeファイルの構文を確認する
Docker Composeファイルの構文が正しいかどうかを確認してください。以下のコマンドを実行します。
docker-compose config
もしエラーが出た場合は、ファイルの構文を修正してください。
- ネットワークの設定を確認する
Docker Composeファイルに設定されているネットワークが正しく設定されているかどうかを確認してください。以下のコマンドを実行します。
docker network ls
もし設定されていない場合は、ネットワークを設定してください。
以上の手順を試しても解決しない場合は、より詳細なエラーメッセージを確認して、問題の解決方法を探してください。