今月にアップデートを予定している Windows Version 20H1 (2004) の目玉機能の WSL 2 を使うことで Windows 10 Home でも Docker が使えるようになります。もともと Windows 10 Home では Virtual Box, Windows 10 Pro では Hyper-V などを利用することで Docker を利用することができたのですが、おそらく今後は使いやすくて便利な WSL 2 を利用すること増えるのではないかと考えています。この記事では 20H1 Preview Version を利用して、インストールから実行までをまとめたものになります。もちろん Windows 10 Pro でも、これと同じ手順で問題ないです。
WSL 2
まず最初に WSL 2 をインストールして実行してみます。
Enable Virtualization
WSL 2 を起動するためには CPU の Virtualization が有効化されている必要があります。 Task Manager を開いて Performance > CPU 画面から、 Virtualization: Enabled になっていることを確認します。
もし Enabled になっていない場合は Bios を開いて CPU Configuration > Intel (AMD) Virtualization Technology: Enabled にする必要があります。
Enable Windows Feature
管理者モードで Windows PowerShell or PowerShell 6 を起動して二つのコマンドを実行します。再起動しないと機能が有効にならないため、コマンドを実行後に再起動してください。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
# 🚀再起動を忘れずに
Install WSL 2 kernel
このページ Updating the WSL 2 Linux kernel | Microsoft Docs を開いて download the latest WSL2 Linux kernel を選択して Installer をダウンロードします。ダウンロードした Installer を実行してください。
今後の予定では Terminal から Install できるようになるとのことです。
Install Ubuntu (Linux OS)
Microsoft Store から Ubuntu-20.04 を Install します。今回は Ubuntu を利用しましたが、 Install Windows Subsystem for Linux (WSL) on Windows 10 | Microsoft Docs に記載されている通り、 Ubuntu ではなく好きな Linux でも問題ないと思います。 Microsoft Store 以外からの Install も可能と書いてありました。
WSL 2 の設定、実行確認
これで WSL 2 を利用する準備が整いました。 PowerShell や Terminal (Command Prompt) を開いて、実際に WSL のコマンドを実行してみます。
デフォルトで WSL 2 を利用するコマンドと、 Install した Ubuntu で WSL 2 を利用するコマンドを実行します。コマンド実行後に wsl -l -v
を実行して Ubuntu が WSL 2 で動いていることを確認します。
wsl --set-default-version 2
wsl --set-version Ubuntu-20.04 2
wsl -l -v
# NAME STATE VERSION
# * Ubuntu-20.04 Running 2
最後に適当な WSL コマンドを実行して Linux のコマンドが動作することを確認します。 Windows 上からは wsl {command}
の形式でコマンドを実行するか、 wsl
コマンドを実行して Linux 上にログインしてからコマンドを実行することができました。
wsl lsb_release -a
# No LSB modules are available.
# Distributor ID: Ubuntu
# Description: Ubuntu 20.04 LTS
# Release: 20.04
# Codename: focal
Docker
WSL 2 が Install できたら、次は Docker をインストールして実行してみます。
Install Docker Desktop
このページ Docker Desktop for Mac and Windows | Docker を開いて Installer をダウンロードします。ダウンロードした Installer を実行してください。 Install の途中で表示される Configuration は Enable WSL 2 Windows Features のチェックを外さないようにしてください。
WSL 2 が正しく Install されている場合は General 画面の Use the WSL 2 based engine にチェックがついていることと、 Resources 画面の Enable integration with my default WSL distro にチェックがついているはずです。もしチェックがついていなければ、つけてください。
Get started
Docker Desktop を起動するとチュートリアルが始まります。手順通り実行していくと Container が起動します。 Container 起動後はブラウザで localhost にアクセスすることで、それっぽい画面が開けるようになります。画面確認後はゴミ箱アイコンをクリックして、 Container を削除してしまってよいです。
Docker コマンド実行確認
もちろんコマンドからも実行可能です。前と同じチュートリアルをコマンドで実行したい場合は、 Terminal を開いてこのコマンドを実行すると同じように、ブラウザでそれっぽい画面が開けるようになります。
docker run -dp 80:80 docker/getting-started
参考にしたもの
- An overview on the the Windows Subsystem for Linux | Microsoft Docs
- Docker Desktop を WSL2 で使う (Windows 10) | エンジニアの何でもメモ帳
- PC でバーチャライゼーション (VT)を作動させるには? – BlueStacks サポート
トラブルシューティング
- WSL 2 の設定、実行確認のときに
wsl -l -v
の結果で Legacy に*
が設定されている場合は、このコマンドで WSL 2 が正しく実行されるようなります。
wsl --set-default Ubuntu-20.04