Docker が起動できなかった備忘録
バージョン
powershell
> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Running 2
wsl2
> cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
結論
公式の通りインストールして実行したけど、 sudo docker run hello-world
をやってもうまく動かない!という私
Windows10 の wsl2 を利用していますが、後述のよく見るあれで解決しない
とのことでしたが、以下のコマンドで何とかなりました!
wsl2
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo service docker restart
現象
wsl2
> docker -v
Docker version 24.0.7, build afdd53b
> sudo docker run hello-world
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running
> sudo service docker restart
* Starting Docker: docker [ OK ]
docker -v
が問題なく動作しているから、インストールはできていそう?なのにrunができない???となっていました
これがそう、よく見るあれ「docker デーモンの再起動」でしたが、うまく動かず
restart を設定しているのに、stop してない時点でおかしいのですが…
とのことでログをチェック
wsl2
> sudo cat /var/log/docker.log
failed to start daemon: Error initializing network controller: error obtaining controller instance: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain: (iptables failed: iptables --wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN: iptables v1.8.7 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain DOCKER-ISOLATION-STAGE-1
(exit status 4))
何かネットワークエラーっぽいぞとのことで検索、解決に至りました。
参考