

WindowsでDockerDesktopを使う時に必要な「WSLコマンド」とは
私はDocker Desktopを使う時に出会ったコマンドなのですが、他の用途でも使うのでしょうか?
あまり詳しくないので、調べたことをまとめます。
wslコマンドとは
Microsoft Learnによると、「WSL」はWindows Subsystem for Linuxの略だそうです。
同ページにこんな記述が・・・
何かあったのかな・・・

WSLのバージョンについて
WSLにはバージョンがあって、WSL1とWSL2が存在しているようです。
これらの違いは内部の仕組みがだいぶ違っているようで、用途によって使い分ける必要がありそうです。

WSL1はVMWareやVirtualBoxなどでLinux仮想環境を作る時に使用し、WSL2はDockerでLinux仮想環境を作る時に使用するって感じでしょうか。
どうして2つのバージョンを用意する必要があるかというと、仮想化技術の違いによるものと思います。
VMWareやVirtualBoxなどのホスト型仮想化ソフトウェア
WSL1で使用されるVMWareやVirtualBoxはホスト型と呼ばれる仮想化ソフトウェアです。
ホスト型仮想化ソフトウェアはホストOS(Windowsとか?)の中で、仮想化OSを仮想環境の中で起動させる仕組みです。
「OSごと仮想化してしまおう」という考え方です。
Windowsを動かしつつ、WindowsからLinuxを起動して使うようになるので、OSを二重で動かしているような状態になり、マシンの負荷が増大してしまうデメリットがあります。
エミュレーター的な感じかなって思います。
Android StudioでAndroidエミュレータ起動するとめちゃくちゃ遅くなるので、そういうイメージしてます。
Dockerはコンテナ型仮想化ソフトウェア
対して、Dockerはコンテナ型と言われています。
Dockerでも仮想環境を作るのですが、OSはホストOSを利用します。
“アプリケーションの実行環境だけを仮想化しよう”という考え方です。
そうなると”Dockerを使うにはホストOSがLinuxでなければいけない。WindowsPCではDockerが使えない。”と思うんですが、WindowsにはDocker Desktopがあって、Docker Desktopを使う時には、WSL2コマンドを使用します。
WSLはWindows Subsystem for Linux、WindowsにLinuxを組み込むのがWSLなので、WSLがあることで、DockerがWindows上で動くようになると言えます。
Microsoft Learnには「WSL2 は、Linux ディストリビューションをマネージド VM 内の分離されたコンテナーとして実行します。」と記載されています。
詳しいことはわからないけど、WSL2はWindowsでDockerを使えるようにする技術なんだろうと認識しておきます。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。