/note/tech

WSL containers is now generally available

要約:

■ 1. WSL containersの一般提供開始

  • WSLの位置づけ:
    • WindowsをLinuxワークロードの構築、実行、管理に最適な場所にするための中核
    • AI、クラウドネイティブ開発、コンテナ、OSSがLinuxに収束する中、Windows上でこれらを行う開発者が増加
  • WSL containersは本日GA
  • 利用方法:
    • ターミナルでwsl --updateを実行するか、GitHubから最新リリースを入手する
  • WSL containers CLI:
    • wslc.exeでWindows上から直接Linuxコンテナをビルド、実行、デプロイできる
    • 組み込みエイリアスcontainer.exeで使い慣れたコンテナコマンドをそのまま実行できる
  • WSL containers API:
    • ネイティブWindowsアプリからプログラムでLinuxコンテナを実行できる
    • ローカルAIワークロードの実行や、クラウド向けコンテナアプリのローカル利用が可能になる
  • アーキテクチャの詳細は別途WSL containers architectureブログで解説

■ 2. GAでの新コマンドと新機能

  • パブリックプレビュー以降の注力点:
    • 日常的なコンテナワークフローの簡素化
    • 実行環境の可視性向上
    • 大規模なコンテナ管理に必要な柔軟性の追加
  • コンテナのライフサイクル管理:
    • wslc container restartで実行中のコンテナを再起動できる
    • wslc container cpでtarアーカイブ経由のファイルの出し入れができる
    • wslc createとwslc runで--stop-timeoutに対応し、-1で無期限タイムアウトを指定できる
    • wslc createとwslc runで--mountに対応
    • コンテナのヘルスチェックに対応
  • ネットワーク:
    • wslc network connectとwslc network disconnectでコンテナをネットワークに接続、切断できる
    • wslc network createが任意のネットワークドライバーオプションに対応
  • 可観測性:
    • wslc system infoでコンテナ環境の状態を一目で確認できる
    • wslc eventsでコンテナのアクティビティをリアルタイムにストリーミングできる
  • ストレージ:
    • デフォルトwslcセッションのストレージパスを設定可能になり、任意のドライブに配置できる
  • 全変更履歴はリリースページで公開

■ 3. エンタープライズ向け管理機能

  • 本番環境に必要なガバナンスとセキュリティ制御にも注力
  • Microsoft IntuneとMicrosoft Defender for Endpoint(MDE)のWSL統合をコンテナワークフローに拡張
  • MDEのコンテナ対応:
    • 既存のWSL向けプラグインをコンテナに対応させた
    • WSLコンテナのプロセス、ファイル、ネットワークの活動を可視化し、Windowsホストと関連付ける
    • セキュリティチームは別のワークフローを作らずに不審な活動を調査できる
  • Intuneの新設定:
    • Allow WSL containers access:WSL containers機能全体へのアクセスを制御する
    • WSL containers registry allow list:承認済みレジストリを定義し、そこからのみイメージを取得させる
  • レジストリ許可リストの目的:
    • 環境に持ち込まれるコンテナイメージをより強く管理する
    • 組織のセキュリティ、コンプライアンス要件を満たすイメージのみに限定する
  • 企業向け設定方法はWSL enterpriseドキュメントで公開

■ 4. パートナーとコミュニティの統合

  • パートナーやコミュニティが既存のエディタ、ターミナル、デスクトップツールにWSL containersを組み込んでいる
  • VS Code dev container:
    • wslcをdev containerの作成と操作のデフォルトドライバーとして利用できる
  • Aspire:
    • WSL containersをファーストクラスのコンテナランタイムとして利用できる
  • VS Code container extension:
    • コンテナ管理用の人気拡張機能がwslcに対応
  • Lazywslc:
    • WSL containersを管理するTUIダッシュボード
  • WSL Container Desktop:
    • WSL containers、Kubernetes(k3s)、コンテナレジストリを管理するWinUI 3デスクトップアプリ
  • WSLc remote:
    • WSLディストロ内からwslcを実行するための短いラッパースクリプト

■ 5. 今後のロードマップ

  • 長期的な展望:
    • Linux on Windowsを開発環境からAIとクラウドネイティブワークロードの戦略的実行基盤へ発展させる
    • Windowsと同じエンタープライズのセキュリティ、管理、ガバナンスの枠組みに参加させる
  • wslc composeの追加:
    • WSLcへの最多要望であり、次のイテレーションの重点
    • 既存のcompose.yamlを変更なしでwsl compose upで動かすことを目指す
    • 既に着手済み
  • WSL基盤の改善:
    • ネットワーク、OS間ファイル性能などコア機能の改善を調査中
    • wslcではLinux環境からWindowsファイルへのアクセスが最大2倍高速化
    • コンテナワークフロー向けに新しいconsommeネットワークモードを導入し、ネットワーク互換性を改善
    • これらの改善はWSLディストロ、WSL containers、WSL上の他のコンテナ技術すべてに恩恵をもたらす

■ 6. 今後の協力の呼びかけ

  • プレビューをテストし、フィードバックを寄せた開発者に感謝する
  • 技術的問題と機能要望はGitHubリポジトリmicrosoft/wslで受け付ける
  • 性能、互換性、統合への投資を継続し、WindowsをLinux開発に最適な場所にする

MEMO: