検索
ニュース

「Visual Studio Code」で「WSL 2」上のリモートコンテナを使用するには、Microsoftが解説Windows 10でDocker Desktop Stableを効果的に活用する

Microsoftは、「Visual Studio Code」で「WSL 2」のリモートコンテナを使用する方法を公式ブログで解説した。

Share
Tweet
LINE
Hatena

 Microsoftは2020年7月1日(米国時間)、「Visual Studio Code」(VS Code)で「WSL 2」(Windows Subsystem for Linux 2)にあるリモートコンテナを使用する方法を「Visual Studio Code Blog」で紹介した。

 WSL 2は、Microsoftが2020年5月にリリースした「Windows 10 バージョン2004」(May 2020 Update)に標準搭載された。Dockerも2020年5月に、バックエンドとしてWSL 2をサポートした「Docker Desktop for Windows」(Docker Desktop)のStable版「Docker Desktop Community 2.3.0.2」をリリースしている。

 Microsoftは、WSL 2と最新版Docker Desktopにより、仮想化の仕組みが変わると述べ、次のように説明している。

  • WSL 2

 WSL 2は、軽量仮想マシン(VM)内で本物のLinuxカーネルを使用するという新しいアプローチにより、「Windows Subsystem for Linux」を実装している。Windows環境にシームレスに、深く統合された操作感を提供するよう最適化されており、起動が高速で、リソース消費が少なく、VMの構成や管理は不要だ。

 さらに、WSL 2はLinuxカーネルを含んでいるため、システムコール機能が全てそろっている。これは、Dockerのようなお気に入りのアプリケーションが高い信頼性で動作することを意味する。

  • Docker

 WSL 1では、WindowsとLinuxの根本的な違いから、Docker EngineをWSL内で直接動作させることができなかった。そこでDockerチームは、「Hyper-V」の仮想マシン(VM)と「LinuxKit」を使用する代替ソリューションを開発した。だが、WSL 2がLinuxのシステムコールを全て備えたため、WSL 2内で完全に動作するようになり、これに伴ってDockerチームはさらに投資を増やした。

 2020年5月にリリースされたDocker Desktopでは、これまでよりはるかに高速でリソース消費が少ないコンテナを作成できるようになった。WSL 2の動的メモリ割り当てを使用するからだ。Docker Desktopで作成するコンテナのコールドスタートは素早く、10秒に満たない。前バージョンのDocker Desktopで作成したコンテナでは、1分近くもかかっていた。新しいDocker DesktopがWSL 2で動作する際にHyper-Vは不要であるため、以下で説明する手順は、Windows 10 Homeにも当てはまる。

前準備に必要なことは?

 VS CodeでWSL上のリモートコンテナを使用するには、次のような準備が必要だ。

  • Windows 10 バージョン2004のインストール
  • VS Codeのインストール
  • WSL 2のインストールガイドに従ったWSL 2の有効化
  • Microsoft Storeから「Ubuntu」(または他のLinuxディストリビューション)を選択してインストール
  • Docker Desktop Stable 2.3.0.2のインストール

 Dockerのインストール時にはWSLがインストールされていることを検知して、ポップアップウィンドウを表示し、WSLとの統合を有効にするようユーザーに求める。ここでは[Enable WSL integration]を選択する。


Dockerインストール時の表示(出典:Microsoft

WSL 2でVS Codeを開く

 VS CodeをWSL 2エンジンに接続する。そのためには、Ubuntuのターミナルを開き、ユーザーが利用しているソースコードフォルダに移動して「code .」と入力する。これにより、WSLをフルタイム開発環境として使えるVS Codeインスタンスが起動する。


Ubuntuのターミナルを使っているところ(出典:Microsoft

 コマンドパレットからWSLに接続することもできる。ここではシンプルな「HelloNode」アプリケーションを開く。

 VS Codeを開くと、VS Codeは、WSLがインストールされていることを認識し、「Remote - WSL拡張機能」をインストールするよう促すので、[Install]を選択する。


「Remote - WSL拡張機能」をインストールする画面(出典:Microsoft

 拡張機能をインストールしたら、[Reload Required]を選択してVS Codeをリロードする。これにより、WSL 2に接続できるようになる。


VS Codeをリロードする画面(出典:Microsoft

 リロードしたら、ウィンドウ左下隅のWSLインジケーターの表示が変わる。Ubuntuに接続していることが確認できる。


WSLインジケーターの表示(出典:Microsoft

 「Remote - WSL拡張機能」をインストールすると、「Remote Explorer」がVS Codeに追加される。Remote Explorerでは、Linuxディストリビューションに関する情報を確認できる。


Remote Explorerの表示(出典:Microsoft

コンテナを使用する

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る