WSLでDockerを使う
使っているディストリビューションはUbuntu 22.04です。
Docker Desktopを使わず、WSLの中にDockerをインストールする方法もあるようなのですが(普通にLinuxを使うのと同様)、上記公式ドキュメントにある通りの方法で上手くいったのでそのまま使ってます。
Docker Desktopの設定
- Use the WSL 2 based engine
- Enable integration with my default WSL distro
にチェックをつけます(スクショは公式ドキュメント内にあります)。
WSLの設定
ディストロのバージョンをWSL 2にする
wsl -l --verbose
の結果、Ubuntuが1になっている場合、そのままではDocker Desktopとインテグレーションできないので
wsl --set-version Ubuntu 2
を実行します。ちなみに
wsl --set-default-version 2
と実行しておけば、それ以降作られるディストロはバージョン2となるようです。
トラブルシューティング
初めてset-versionを実行したとき、
$ wsl --set-version Ubuntu 2 Conversion in progress, this may take a few minutes... For information on key differences with WSL 2 please visit https://aka.ms/wsl2 The operation timed out because a response was not received from the virtual machine or container.
みたいな結果に遭遇しました。次のコマンドでWSLを再起動したら直ったのでヨシ。
wsl --shutdown
使いたいディストロをデフォルトにする
wsl --set-default Ubuntu
これでUbuntuがWSLにおいてデフォルトで使われるようになります。
ここまで設定したら、Ubuntuにログインし直すとDockerが使えるようになってました!
WSLの中でapt installとかするんじゃなくてDocker Desktopでデフォルトのディストロ使うっていう設定にした場合、dockerがsudoいらずだった🤔🐳合ってるのかな〜https://t.co/D0qScsGhh3
— よこな / Ayana (@ihcomega) February 2, 2023
(わからない)