「Docker Desktop for WSL 2」、2019年7月にテクニカルプレビュー版がリリースDockerがWSL 2を利用

Dockerは、Windows向け「Docker Desktop」の新バージョン「Docker Desktop for WSL 2」のテクニカルプレビュー版を2019年7月にリリースする予定だ。WSL 2を利用することで高速化を果たせるという。

» 2019年06月19日 14時30分 公開
[@IT]

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

 Dockerは2019年6月16日(米国時間)、Microsoftの「Windows Subsystem for Linux(WSL)2」を利用したWindows向け「Docker Desktop」の新バージョン「Docker Desktop for WSL 2」について、テクニカルプレビュー版を7月にリリースする予定であることを明らかにした。

 WSLは、Windows 10がインストールされているマシンから同一マシン内のLinux環境を利用するための仕組み。2019年5月に発表されたWSL 2では、アーキテクチャを大幅に変更し、エミュレーションを使用することなく、軽量の仮想マシン(VM)内でLinuxカーネルが実際に動作する環境を提供する。

 WSL 1を利用した場合、Docker EngineとKubernetesをWSL内で直接実行することは不可能だった。このため、現在のDocker Desktopでは、Hyper-V VMとLinuxKitを用いて実現している。

 WSL 2のアプローチは、Dockerが提供している従来のWindows向けソリューションと非常によく似ている。さらにWSL 2の手法はDockerが単独で取り組む場合よりも軽量で、Windowsとより緊密に統合されている。このため、DockerデーモンはWSL 2上で、従来よりも高いパフォーマンスを発揮できるという。

 このような背景からDockerはMicrosoftと協力し、Docker Desktop for WSL 2の開発に乗り出した。Docker Desktopの新バージョンにより、コンテナを使った開発エクスペリエンスが向上し、新機能が利用できるようになるという。なお、WSL 2はWindows 10 Homeでも動作するため、Docker Desktop for WSL 2を利用可能だ。

 7月にリリース予定のテクニカルプレビュー版は、現行のDocker Desktopと共存できるため、既存プロジェクトを安全に継続できると、Dockerは述べている。

 Dockerは、Docker Desktop for WSL 2の概要を次のように説明している。

WSL 2統合パッケージを提供

 Dockerは、従来のDocker Desktopで用いていたHyper-V VMの代わりに、「WSL 2統合パッケージ」を採用する。このパッケージでは、現行のDocker Desktop VMと同様に、1クリックでのKubernetesのセットアップから自動更新、透過的なHTTPプロキシ構成、Windowsからデーモンへのアクセス、Windowsファイルの透過的なバインドマウントまでが可能になる。

Docker Desktop for WSL 2の概念図(出典:Docker

 統合パッケージは、DockerとKubernetesの実行に必要なサーバ側コンポーネントに加え、WSL内でこれらのコンポーネントを操作するためのCLI(コマンドラインインタフェース)ツールを含む。

Linux Workspacesを提供

 Docker Desktop for WSL 2では、新機能の「Linux Workspaces」を導入する。WSL 2との統合により、Linux環境をターゲットとするプロジェクトに取り組む開発者は、これまでのようにLinuxビルドスクリプトと合わせてWindowsビルドスクリプトを維持する必要がなくなる。Dockerを使用する開発者は、Linuxマシンを使う開発者と同じツールやスクリプトのセットを使って、Windows上でLinux Dockerデーモンを扱えるようになる。

Docker Desktopテクニカルプレビュー版、WSL 2、リモートVS Codeを使って、Dockerデーモンを扱っているところ、クリックで再生(出典:Docker

 また、WSLからのバインドマウントでは、ネイティブLinuxマシン上とほぼ同じI/Oパフォーマンスが得られるようになる。

 さらに、Visual Studio CodeでRemote Development拡張機能によって利用可能になるWSLへの接続と、Docker Desktop Linuxワークスペースを組み合わせることで、ローカルマシンでWindows上のIDEから、コンテナ作成のためのLinuxツールチェーン全体を実行できる。

パフォーマンスの改善

 MicrosoftはWSL 2で、パフォーマンスとリソース割り当てに力を入れている。動的なメモリ割り当てを使用するようにVMがセットアップされており、全てのホストCPUで作業をスケジュールできる。さらに必要なメモリ量を最小限に抑制できる。

 Docker Desktopではこれを利用して、リソース消費量を大幅に改善できるという。例えばCPUとメモリの使用量が必要に応じて増減し、コンテナの構築などのCPUやメモリ負荷の高いタスクは、現在よりもはるかに高速に実行できる。

 コールドスタートの後にWSL 2向けディストリビューションとDockerデーモンが起動するのに必要な時間も短縮できる。現在のDocker Desktopでは数十秒必要だったが、開発用PCは約2秒に短縮できた。高速化できたことで、デーモンの起動を最初のAPI呼び出し時まで延期し、コンテナが実行されていないときは自動的にデーモンを停止できる。これにより例えば、ノートPCのバッテリー駆動時間を延長できる。

構成不要のバインドマウント

 現在のDocker DesktopはSambaサービスに依存しているため、企業が設定したWindowsの管理ポリシーなどによって動作しなくなる可能性があった。

 Docker Desktop for WSL 2では、Windowsファイルのバインドマウントを実装したWSL機能を利用することで、Windowsファイルのバインドマウントの信頼性などの問題が、特別な構成を行わなくても解決できる。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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