😬

wsl上のubuntuでdockerが使用できない

2021/05/24に公開

条件

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