Web開発の現場をはじめとして、Dockerが使われる機会が増えています。手軽に使えるDockerのテスト環境・開発環境を調達したい、と考えている方は多いでしょう。
Windowsでは「WSL2」の登場により、Docker環境を簡単に確保できるようになりました。この記事では、WSL2とは何かといった概要と、Windows+WSL2でDocker環境を用意する方法について紹介します。
※KAGOYA CLOUD VPSでは20円/日でDockerを利用することも可能です。
目次
WSLとは
WSL(Windows Subsystem for Linux)は、Windows10・11に搭載されているLinuxの実行環境です。WSLを使うことによって、Windows上でLinuxを利用できるようになります。Linuxの開発環境・学習環境を構築するために、別のPCを用意する必要はありません。これまで通りWindowsを使いながら、1つのアプリのようにLinux環境を操作可能です。
またWindows上から、Linux OSも簡単に入手できます。Ubuntuをはじめ、Debian・SUSEといったLinuxのディストリビューションは、WSL上で使えるかたちでMicrosoftストアにて無料提供されています。
Windows+WSL2でDockerを利用できる
2016年にWSL1が、2019年にはWSL2がリリースされました。WSL2はWSL1と比べ、Linuxの実行環境として大幅に改善されています。
WSL1では「LXCore」を使い、Linuxを動作させていました。しかし、この仕組みがLinuxとしては不完全で、WSL1で動作するLinuxには制限があったのです。
一方のWSL2ではLinuxカーネルが搭載されたことで、Linuxとの互換性が格段に高まりました。原理的には、WSL2上で「完全なLinux」が動作します。Linuxカーネルの搭載により、WSL1には対応していなかった「Docker(※)」「FUSE」などもWSL2では使えるようになりました。
※Dockerは、コンテナ型のアプリケーション実行環境を管理するのに使うオープンソースソフトウェアです。コンテナ型のアプリケーション実行環境は、他プロセスから隔離され、あたかも別PCのように動作します。また従来から使われる仮想マシンと比べコンテナは軽量で動作は軽快です。
WSL2の導入に必要な要件
WSL2は全Windowsのバージョンをサポートしているわけではありません。WSL2が対応しているのは、Windows10(64bit版)以降となります。Windowsの32bit版は、WSL2に対応していません。
次にWindowsでWLS2を使うためには、Windowsのバージョン・ビルドについて以下条件を満たす必要があります。
- x64システムの場合:バージョン 1903 以降、ビルド 18362 以上
- ARM64システムの場合:バージョン 2004 以降、ビルド 19041 以上
Windowsのバージョン・ビルドは、画面左下の「スタートボタン」から「設定」→「システム」と移動した先にある「詳細情報」にて確認できます。もし上記より古い場合は、OSを更新して下さい。 またWSL2でLinux環境を利用するにあたり、PCのハードウェアはHyper-Vに対応していなくてはいけません。比較的新しいPCであればほとんどはHyper-Vに対応していますが、仮に対応していないとWSL2が使えないので注意して下さい。
Windows+WSL2上でDockerを使えるようにする手順
Windows+WSL2で、Dockerが使えることを紹介しました。それでは、手元のWindowsでどのようにすれば、WSL2からDockerを使えるようにできるのでしょうか。以下、手順を1つずつみていきましょう。
1.Windows10でWSL2を使えるようにする
WSL2を使えるようにするための手順は、Windows10とWindows11で異なるので注意して下さい。Windows10上でDockerを使えるようにするためには、まずWSL2を使える状態にすることが必要です。
※Windows11での操作方法は後の項で紹介します。
WSLと「仮想マシン プラットフォーム」を有効化する
「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」を使えるようにするため、以下操作を行います。
【1】Windowsのスタートボタンから「Windowsシステムツール」→「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」の順で遷移する
【2】「Windowsの機能の有効化または無効化」(以下)が表示される。「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」にチェックを入れ「OK」をクリックする。
これで有効化の準備が整いました。画面の指示に従って再起動すれば、この手順は完了です。
WSL2用Linuxカーネルをインストールする
以下手順で、WSL2用Linuxカーネルをインストールします。
【1】ブラウザで「https://aka.ms/wsl2kernel」にアクセスする
【2】「x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」をクリックして、インストーラをダウンロードする
【3】ダウンロードしたインストーラをダブルクリックして起動させる
【4】インストーラが起動したら「Next」をクリックしてインストールをすすめる
WSL2を既定のバージョンで利用できるようにする
Windowsの初期設定では、WSL1が既定のバージョンとなっています。WSL2を既定のバージョンへ変更するため、以下操作を行ってください。
【1】「Windows」+「R」キーを押す。
【2】「ファイル名を指定して実行」メニューが表示されたら、検索欄に「cmd」と入力し、「OK」をクリックする
【3】コマンドプロンプト(黒い画面)が表示されたら、以下コマンドを入力し、「Enter」キーをクリックする
wsl --set-default-version 2
WSL2用Linuxディストリビューションをインストールする
以下手順で「Microsoft Store」から、Linuxディストリビューションを取得してインストールします。
※本記事では「Ubuntu」のインストール手順を紹介します。
【1】Windowsの「スタートボタン」→「Microsoft Store」と進む
【2】検索欄に「Ubuntu」と入力して検索を実行する
【3】検索結果の中から「Ubuntu」を選択して、次の画面で「入手」をクリックする
【4】表示された画面で「開く」をクリックする※インストールが開始されます。
【5】以下のように、Ubuntuの初期設定画面が表示される
画面に従い、以下の順番で入力を進める
1 | 「Enter new UNIX username」 | 新しく作成するユーザー名を入力します |
2 | 「New password」 | パスワードを入力します |
3 | 「Retype new password」 | 同じパスワードをもう一度入力します |
この入力まで終えたら、Ubuntuのインストール作業は完了です。お手元のWindowsにて、Ubuntuが使えるようになっています。
Windows Terminalでより簡単にLinuxを使えるようにする
Windows Terminalを使うことで、WSL2を1つのタブとして簡単に扱えるようになります。Windows Terminalのインスト―ル方法は以下の通りです。
【1】Windowsの「スタートボタン」→「Microsoft Store」と進む
【2】検索欄に「Windows Terminal」と入力して検索を実行する
【3】「Windows Terminal」が見つかったら「入手」をクリックする※インストールが始まります
【4】インストールが完了したら「開く」をクリックする
Windows Terminalでは以下のように下三角ボタンからUbuntuを起動させて、1つのタブとして利用が可能です。
1.Windows11でWSL2を使えるようにする
Windows10と異なり、Windows11では非常に簡単な操作でWL2が使えるようになり大変便利です。Windows11では以下コマンドを実行するだけで、WSL2が使える状態になります。
wsl --install
本コマンドによって、以下4つの作業が実行されます。
- 「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」を有効化する
- WSL2用Linuxカーネルをダウンロード・インストールする
- WSL2を既定のバージョンとする
- Ubuntuディストリビューションをダウンロード・インストールする
さらにWindows11では、Windows Terminalがあらかじめインストール済となっています。
2.「Docker Desktop for Windows」をインストールする
「Docker Desktop for Windows」をインストールすることで、Windows10・11上で簡単にDockerが利用できるようになります。「Docker Desktop for Windows」で使えるDockerは、特に制限はありません。一般的なDockerと同じように利用可能です。以下「Docker Desktop for Windows」のインストール手順を紹介します。
【1】Dockerの公式サイト(https://www.docker.com/)にアクセスし、画面右上部の「Get Started」をクリックする
【2】遷移先の画面で「Download for Windows」をクリックする。※「Docker Desktop for Windows」のインストーラがダウンロードされます。
【3】ダウンロードしたらインストーラをダブルクリックしてインストールをすすめる
【4】インストーラが起動したら、「OK」をクリックし画面の指示に従ってインストールをすすめる。※「Configuration」のチェックはそのままでかまいません。
この手順を完了すると、Windows10・11上でDockerが使えるようになります。前項でインストールしたUbuntuからdockerを操作することも可能です。
Dockerがインストールされていることは、Windows Terminal上から以下のように確認できます。
Windows+WLS2上でDockerを使うメリット
Windows+WLS2上でDocker環境を構築する手順をみてきました。それでは、Windows+WLS2上でDockerを使うことで、どのようなメリットがあるでしょうか。以下、主なメリットを1つずつみていきましょう。
他にLinuxなどの環境を用意しなくてもWindows上でDockerが使える
WindowsユーザーがDockerを利用する場合、Linuxの環境を別途用意する必要があります。しかしWSL2を使うことによって、別途Linux環境を用意しなくても、Windows上でLinux環境を構築できます。そのLinux環境上でDockerを実行できることから、その分、新しい機器を用意する必要もないわけです。
またWSL2上の環境に不具合が発生しても、その土台となるWindowsにまで影響することはありません。WSL2上の環境を一旦破棄して作り直すだけで、新しい環境を利用できます。
使い慣れたWindows環境上でDockerも利用できる
Linux上でDockerを使うのと違い、Windows+WSL2を選べば使い慣れたWindows環境上でDockerを使えるのもメリットです。Dockerを利用しつつ同じPCのデスクトップウィンドウを切り替えて、WordやExcelなどWindows上で使い慣れたアプリケーションを操作することもできます。使う端末を取り替えたりすることなく、簡単な操作でDockerとWindowsアプリケーションを切り替えられるのです。
LinuxユーザーとDockerによる開発環境を簡単に共有できる
通常であれば、WindowsユーザーとLinuxユーザーが同じ開発環境を共有するのは手間がかかります。 しかしDockerで構築した開発環境は、簡単な操作で他ユーザーと共有が可能です。「DockerがどのOS上で構築されたか」は関係ありません。Windows+WSL2で構築したDockerによる環境を、簡単にLinuxユーザーと共有できるのです。逆にLinux上で構築されたDockerによる開発環境を、Windows+WL2上に簡単に移植することもできます。
まとめ
WSLはWindows上で動作する、Linuxの動作環境です。なかでもWSL2はLinuxカーネルを搭載し、Linuxとの互換性が向上しています。その結果、Windows+WSL2ではDockerも使えるようになりました。
WindowsではまずWSL2の設定を行い、「Docker Desktop for Windows」をインストールします。Windows上で使えるDockerは一般的なDockerと変わりません。特に制限なく利用が可能です。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。