はじめに
CypressをWSL2で実行するために苦戦していると、最新版のWSL2なら意識しないでもGUIが使えるとの情報を得てDockerをUbuntu22.04に乗り換えることにしました
普段だとこちらでWSL2にコンテナ環境を構築しているのですが、Ubuntu22.04ではこの記事通りにうまくいかない箇所があったので解決方法を載せます
問題
記事通りに環境を構築していたのですが、以下のコマンドでエラーが発生しました
$ sudo service docker start
# * Starting Docker: dockerとでればOK
$ sudo docker ps
# ここでCouldn't connect to Docker daemonというエラーが発生
なぜかデーモンが起動していませんでした
解決方法
これはDockerのサービススタートに失敗しているのが原因です
$ sudo service docker status
* Docker is not running
not runnningとなっているので、起動ができれば解決しそうです
なぜ失敗するのかというとDockerがiptable
に対応できていないようです
Legacy版のiptableに対応させることでうまくいきました
$ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
$ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
$ sudo service docker start
* Starting Docker: docker
起動にうまくいったらあとは記事通りに最後まで行けました
おわりに
結果的にCypressはいまだにうまくいっておりません。。。
果たしてできるのでしょうか
参考