WSL2へ行こう

Windows10 バージョン2004からWSL2が使用できるようになった

Windows10 バージョン2004 WSL1とWSL2の機能比較

移行前の状態

PS > wsl --list -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Running         1

移行メモ

WSL2にしようとしてみる

PS > wsl --set-default-version 2
Windows の仮想マシン プラットフォーム機能を有効にして、BIOS で仮想化が有効になっていることを確認してください。
詳細については、https://aka.ms/wsl2-install を参照してください

Windowsの仮想マシンプラットフォーム機能を有効にしてみる

PS > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.1

イメージのバージョン: 10.0.19041.264

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

再チャレンジ

PS > wsl --set-default-version 2
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください

Linuxカーネル更新プログラムパッケージをダウンロードしてインストールする

最新の WSL2 Linux カーネル更新プログラム パッケージ

WSL2Linuxカーネル更新プログラム_1 WSL2Linuxカーネル更新プログラム_2

再再チャレンジ

PS > wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

WSL2になった

今まで使っていたものをWSL2に変換する

PS > wsl --set-version Ubuntu-18.04 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

できた

PS > wsl --list -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2

やってみたかったこと

WSL2上のDockerでSQLServerを動作させてみる

$ sudo docker run -e "ACCEPT_EULA=Y" \
>    -e "SA_PASSWORD=Password1!" \
>    -p 1433:1433 \
>    --name sql1 \
>    -d mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
[sudo] password for administrator:
Unable to find image 'mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04' locally
2019-CU3-ubuntu-18.04: Pulling from mssql/server
5b7339215d1d: Pull complete
14ca88e9f672: Pull complete
a31c3b1caad4: Pull complete
b054a26005b7: Pull complete
59f979819d9b: Pull complete
29eb18117119: Pull complete
6de3c1cf897f: Pull complete
172ea0155639: Pull complete
Digest: sha256:e064843673f08f22192c044ffa6a594b0670a3eb3f9ff7568dd7a65a698fc4d6
Status: Downloaded newer image for mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
e6a93f9a6df59a2acc48eacf77f826cb2c72e739f54637251412f686894c4813
$ docker ps
CONTAINER ID        IMAGE                                                  COMMAND                  CREATED             STATUS              PORTS                    NAMES
e6a93f9a6df5        mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04   "/opt/mssql/bin/perm…"   30 seconds ago      Up 26 seconds       0.0.0.0:1433->1433/tcp   sql1

WSL1のときは起動さえもしなかったものが、とりあえず起動するようになった いろいろと要検証です