Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
290
Help us understand the problem. What is going on with this article?
@KoKeCross

Windows 10 Home で WSL 2 + Docker を使う

今月にアップデートを予定している 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 にする必要があります。

Image from Gyazo

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 のチェックを外さないようにしてください。

Image from Gyazo

WSL 2 が正しく Install されている場合は General 画面の Use the WSL 2 based engine にチェックがついていることと、 Resources 画面の Enable integration with my default WSL distro にチェックがついているはずです。もしチェックがついていなければ、つけてください。

Image from Gyazo

Image from Gyazo

Get started

Docker Desktop を起動するとチュートリアルが始まります。手順通り実行していくと Container が起動します。 Container 起動後はブラウザで localhost にアクセスすることで、それっぽい画面が開けるようになります。画面確認後はゴミ箱アイコンをクリックして、 Container を削除してしまってよいです。

Image from Gyazo

Image from Gyazo

Docker コマンド実行確認

もちろんコマンドからも実行可能です。前と同じチュートリアルをコマンドで実行したい場合は、 Terminal を開いてこのコマンドを実行すると同じように、ブラウザでそれっぽい画面が開けるようになります。

docker run -dp 80:80 docker/getting-started

Image from Gyazo

参考にしたもの

トラブルシューティング

  • WSL 2 の設定、実行確認のときに wsl -l -v の結果で Legacy に * が設定されている場合は、このコマンドで WSL 2 が正しく実行されるようなります。
wsl --set-default Ubuntu-20.04
290
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
290
Help us understand the problem. What is going on with this article?