全4970文字
PR

Windows 10ではLinux実行環境の「WSL」(Windows Subsystem for Linux)が標準搭載され、「本物のLinux」がすぐに使えるようになりました。最新版の「WSL2」について、導入方法や基本的な使い方などを解説します。

 サーバーアプリケーションを開発するときはもちろん、ちょっとしたアプリを実行環境や周辺ツール込みでサクっと動かしたいときなど、コンテナエンジンの「Docker」が使えると便利です。Dockerは、Linuxの中でコンテナ技術を使ってアプリケーションの動作環境をパッケージ化する仕組みです。

 Windows向けのDockerとして、WSL2を土台として利用できる「Docker Desktop for Windows」がリリースされています。このDocker Desktop for Windowsを使いたいからWSL2を導入するという人もいるほどで、まさにWSL2の代表的な活用方法の一つとなっています。

 Docker Desktop for Windowsを使うには、まずWindows 10のWebブラウザーで公式ページ(https://www.docker.com/products/docker-desktop)にアクセスします。「Download for Windows」をクリックしてインストーラーをダウンロードしてください。インストーラーを起動して、「Configuration」画面で「Enable WSL 2 Windows Features」にチェックマークが付いているのを確認し、「Ok」ボタンをクリックするとインストールできます(図13)。

図13 Docker Desktop for Windowsをインストールする
図13 Docker Desktop for Windowsをインストールする
[画像のクリックで拡大表示]

 インストール完了後、「Close and log out」ボタンをクリックすると、いったんWindowsからログアウトするので、ログインし直します。自動的にDockerのウィンドウが開きますが、そのまま閉じて構いません。

 この状態で、コマンドプロンプトやPowerShellから「wsl -l -v」コマンドを実行してみましょう。WSLのディストリビューション一覧に「docker-desktop」と「docker-desktop-data」の二つが追加されていれば正しく動作しています。試しに高性能Webサーバー「Nginx」のDockerイメージを取得してみます。

[画像のクリックで拡大表示]

 取得したイメージを次のように実行すると、WSLによりコンテナが実行され、NginxがWebサーバーとして稼働し始めます。

[画像のクリックで拡大表示]

 上記のコマンドは、最新の「nginx:latest」イメージからコンテナを作ってバックグラウンドで実行し、「mynginx」というコンテナ名を付けて、コンテナのTCP80番ポートを親OS(Windows)のTCP80番ポートに対応付けるという内容になっています*6

 この状態で、WindowsのWebブラウザーから「http://localhost/」にアクセスすると、Dockerで動いているNginxにアクセスできます(図14)。

図14 Dockerで動いているNginxにアクセスできた
図14 Dockerで動いているNginxにアクセスできた
[画像のクリックで拡大表示]

 コンテナを終了するときは、先ほど付けた名前を指定してdockerstopコマンドを実行します。

[画像のクリックで拡大表示]
*6 このとき、Windowsのファイアウォール機能でDocker Desktop Backendの通信に関するセキュリティ警告が表示された場合は、アクセスを許可してください。