😬
wsl上のubuntuでdockerが使用できない
条件
OS : windows 10 home
Docker Desktop for Windowsをインストールしてある。
Windows PowerShellでdocker -v
を実行すると、
PS C:\Users\USERNAME> docker -v
Docker version 20.10.6, build 370c289
とインストールできていることが確認できる。
原因1
しかし、WSL上のUbuntuでdocker -v
を実行すると、
USERNAME@PC-NAME:~$ docker -v
The command 'docker' could not be found in this WSL 1 distro. We recommend to convert this distro to WSL 2 and activate the WSL integration in Docker Desktop setting
と表示される。
解決方法
エラーメッセージにある通り、WSLバージョンが1のままであるため、バージョンを上げてやる。
まず、Windows PowerShell上でwsl -l -v
を実行するとWSLのバージョンが確認できる。
PS C:\Users\USERNAME> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 1
docker-desktop-data Running 2
docker-desktop Running 2
UbuntuのWSLバージョンが1のままであることが確認できる。
Ubuntuのバージョンを2にあげる。wsl --set-version Ubuntu 2
PS C:\Users\USERNAME> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
ついでにwslのデフォルトバージョンも変更しておく。wsl --set-default-version 2
原因2
原因1を解決してこれで行けるかと思ったら、
USERNAME@PC-NAME:~$ docker -v
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.
See https://docs.docker.com/docker-for-windows/wsl/ for details.
というエラーが出てきた。
解決方法
これもエラーメッセージの通りに解決する。
上の写真のEnable integration with additional distros:の部分のUbuntuをONにする。
解決
これで私は解決しました。
USERNAME@PC-NAME:~$ docker -v
Docker version 20.10.6, build 370c289
Discussion