「Ubuntu on WSL 2 on Windows 11」でコンテナ環境を構築してみよう:Windows 11で“本物のLinux”を体験
WindowsでLinuxを利用できる「WSL」に注目が集まっています。Windows 11のWSL 2に用意したUbuntuでコンテナを利用する開発環境を構築する方法を紹介します。
「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で実行してみよう
関連記事
- 攻撃事例で考える「コンテナセキュリティ」のリスクと対策
コンテナ基盤にセキュリティリスクがあることは認識している。セキュリティのガイドラインなどもチェックしている。だが、いまひとつ攻撃やリスクのイメージが湧かない。そんな開発者に向けて、NTTデータのクラウドエンジニア、望月敬太氏が具体的な攻撃デモを通して、意識すべきリスクや対策について分かりやすく解説する。2021年11月4〜5日にオンラインで開催された「CloudNative Days Tokyo 2021」から「乗っ取れコンテナ!!〜開発者から見たコンテナセキュリティの考え方〜」で紹介された内容だ。 - Windows 10/11でLinux環境「WSL」を始める第一歩
Windows 10およびWindows 11上のLinux環境「WSL」をこれから始める読者のための、インストール方法やバックアップ方法をまとめて解説する。また、Windows 11上のWSLで新規サポートされた外部ドライブのマウント方法も合わせて紹介しよう。 - 2022年以降のクラウドネイティブ、世界で広がる開発・運用支援サービスとは
クラウドネイティブ時代に、世界で企業向けの開発・運用支援サービスはどう変化していくのか。Gartnerは、開発・運用サービスが「プロジェクト中心」から「プロダクト中心」のモデルに急速に変化していくと予測している。
Copyright © ITmedia, Inc. All Rights Reserved.