「Ubuntu on WSL 2 on Windows 11」でコンテナ環境を構築してみようWindows 11で“本物のLinux”を体験

WindowsでLinuxを利用できる「WSL」に注目が集まっています。Windows 11のWSL 2に用意したUbuntuでコンテナを利用する開発環境を構築する方法を紹介します。

» 2022年03月08日 05時00分 公開
[大喜多利哉@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「macOSやUNIXベースのOSを利用して開発したい」という考え方が広まる中、多くの企業でmacOSが搭載されたMacを社用PCとして利用できるようになりました。一方、業務システムとの互換性の問題などからWindowsの利用を求められる企業も少なくありません。そこで注目されているのが、WindowsでLinuxを利用できる「WSL」(Windows Subsystem for Linux)です。WSLを利用することで、業務システムとの互換性はWindowsで保ちつつ、快適な開発作業をLinuxで進められるようになります。

 WSLの登場以前は「VMware」や「VirtualBox」などの仮想化ソフトウェアを使用してLinuxを実行したり、LinuxのコマンドなどをWindowsに移植した「Cygwin」のようなツールを利用したりするなどの方法がありました。しかし、前者はホストOSであるWindowsで仮想化ソフトウェアを実行した上でLinuxをインストールするため、オーバーヘッドの大きさが課題でした。後者はあくまでもLinuxで利用できる一部のコマンドをWindowsで利用できるようにしたもので機能面に課題がありました。

 WSLも仮想マシンの仕組みを用いていますが、Windowsと親和性の高い「Hyper-V」を使用しているのでオーバーヘッドが小さく、Cygwinのようなツールと違い、本物のLinuxを実行できます(Hyper-Vを利用しているのは後述するWSL 2からとなります)。

WSL、WSL 2、WSLgの違い

 WSLは2016年に登場しましたが、2019年に「WSL 2」が発表され、2021年には「WSLg」が発表されました。バージョンアップを重ねてきたわけですが、それぞれの違いはどこにあるのでしょうか。

 WSLとWSL 2はWindows上でLinuxディストリビューションを実行する点は同じですが、仕組みが異なります。WSLでは、LinuxのシステムコールをWindowsカーネル向けに変換する独自機能を追加してWindows上でLinuxを実行しています。Linuxから見たときにWindowsカーネルがLinuxカーネルに見えるような仕組みが整っています。

 WSL 2では、Hyper-Vを使用してLinuxを実行しています。Hyper-VはMicrosoftが開発した仮想マシンの仕組み(ハイパーバイザー)で、Windowsとの親和性が高く、VMwareやVirtualBoxなどと比較してオーバーヘッドが抑えられています。

 WSLgは、Windows上で動く本物のLinuxで、Linux GUIアプリケーションを実行できる機能です。他と大きく違うのは、WindowsでLinuxのデスクトップが開き、その上でGUIアプリケーションが実行されるのではなく、WindowsのウィンドウとしてLinuxのGUIアプリケーションが起動して表示される点にあります。

「WSL 2」をWindows 11で実行してみよう

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。