本記事はAIを利用して作成した技術解説・実装例です。掲載するコードや手順は一次情報を基に構成していますが、筆者による実機での動作確認は行っていません。環境やバージョンによって動作が異なる場合があります。
Windows環境においてLinuxワークロードの実行やコンテナ開発を安全に効率化するため、公式情報で発表された「WSL containers」の一般提供(GA)に関する変更点、機能、利用条件を整理します。本記事では、パブリックプレビューからの進化点、新コマンド、エンタープライズ向けの管理機能、パートナー統合について公式ブログの内容を基に解説します。
1. WSL containersの一般提供(GA)の概要
一次情報によると、MicrosoftはWindows上でのLinuxワークロードの構築、実行、管理を強化する取り組みの一環として、「WSL containers」の一般提供(GA)を開始したと発表しています。この機能により、開発者はWindows環境でLinuxコンテナを直接構築、実行、デプロイできるようになります。
導入や更新には、ターミナルで wsl --update を実行するか、GitHubの最新リリースからダウンロードする方法が案内されています。主な構成要素として、専用のCLIである wslc.exe や、使い慣れたコンテナコマンド用のビルトインエイリアス container.exe、およびネイティブWindowsアプリからプログラムでLinuxコンテナを実行するためのWSL containers APIが含まれています。
2. 新コマンドとライフサイクル・ネットワーク管理の機能
プレビュー期間を経て、GAリリースではコンテナのライフサイクル管理、ネットワーク、可観測性の各領域で新しいコマンドと機能が追加されています。主なハイライトは以下の通りです。
wslc container restart: 実行中のコンテナを再起動します。wslc container cp: tarアーカイブを介してコンテナの内外でファイルをコピーします。wslc system info: コンテナ環境の状態を一目で確認できます。wslc network connect/wslc network disconnect: コンテナのネットワークへのアタッチやデタッチを行います。wslc network create: 任意のネットワークドライバーオプションをサポートします。wslc events: リアルタイムのコンテナアクティビティをストリーミングします。コンテナのヘルスチェック: ヘルスチェック機能がサポートされます。
--stop-timeout:wslc createやwslc runで無限タイムアウトを表す-1を含む停止タイムアウトを指定可能です。--mount: 作成・実行時にマウントをサポートします。ストレージパスの構成: デフォルトの
wslcセッションのストレージパスを任意のドライブに変更できます。
3. エンタープライズ向け管理機能とセキュリティ統制
企業での本番環境導入を見据え、Microsoft IntuneおよびMicrosoft Defender for Endpoint(MDE)のWSL向け統合がコンテナワークフローにも拡張されています。
MDEの既存のWSL用プラグインが拡張され、WSLコンテナ内のプロセス、ファイル、ネットワークアクティビティを捕捉してWindowsホストに紐付けられるようになりました。これにより、セキュリティチームは独立したワークフローを作ることなく不審なアクティビティを調査できます。
また、Microsoft Intuneでは、WSLコンテナ機能の有効化・無効化や、承認されたレジストリへのイメージプル制限を行うための設定が追加されています。管理者は「Allow WSL containers access」で機能全体のアクセスを制御し、「WSL containers registry allow list」で組織のセキュリティ基準を満たす許可されたレジストリのみからコンテナイメージをプルするよう制限できます。
4. パートナーおよびコミュニティ統合の拡充
パートナーやコミュニティコントリビューターによって、既存のエディタ、ターミナル、デスクトップツールへの wslc 統合が進められています。
VS Code dev container support: VS Codeのdevコンテナ作成・操作のデフォルトドライバーとして
wslcを利用できます。Aspire: WSL Containersをファーストクラスのコンテナランタイムとして利用可能です。
VS Code container extension: コンテナ管理用の人気拡張機能が
wslcをサポートしています。Lazywslc: WSLコンテナを管理するためのTUIダッシュボードです。
WSL Container Desktop: WSLコンテナ、Kubernetes(k3s)、コンテナレジストリを管理するためのWinUI 3デスクトップアプリです。
WSLc remote: WSLディストリビューション内から
wslcを実行するための短いラッパースクリプトです。
5. 今後のロードマップと基盤の改善
公式情報では、今後のロードマップとして以下の2点が挙げられています。
wslc composeの追加: 次のイテレーションの焦点として、既存のcompose.yamlファイルを変更せずにwsl compose upが動作することを目指したcomposeサポートの開発が進められています。WSLの基礎的な改善: ネットワークやクロスOSファイルパフォーマンスなどのコアプラットフォーム機能の改善が行われています。例えば
wslcでは、Linux環境からWindowsファイルにアクセスする際のパフォーマンスが最大2倍に向上し、クロスOSのボトルネック軽減に寄与しています。また、開発およびエンタープライズシナリオ全体でのネットワーク互換性を高める新しいconsommeネットワークモードが導入されています。
6. まとめ
【実機確認前】 、一次情報をもとにWSL containersの一般提供開始における変更点、新コマンド、エンタープライズ管理機能、およびエコシステムの拡充について整理しました。実行前に確認すべき点と制約を以下に回収します。
掲載したコマンドや機能仕様は、すべて公式ブログ等の一次情報に基づく記載であり、筆者のWindows環境での実機確認は行っていない。
実際に導入やアップデートを行う際は、社内のセキュリティポリシーやIntuneのポリシー設定状況、対象のWindowsバージョンを確認する必要がある。
バージョンや環境の差異によって動作や利用できる機能が異なる可能性があるため、詳細な手順は公式ドキュメントやGitHubリポジトリを参照すること。
