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

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

» 2020年07月10日 19時00分 公開
[@IT]

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

 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.

RSSについて

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

メールマガジン登録

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