Docker環境を構築してみた

目次
こんにちは。スカイアーチHRソリューションズのRyojiです!
今回は自前のWindowsPCでコンテナを動かしてみたいと思い、Docker環境を構築したので、手順を順にまとめていきたいと思います。
これから、コンテナも学んでいきたいと考えているエンジニアの方に参考にしていただければと思います。
WSL2のインストール
そもそも、コンテナはLinux上で動くので、Windows上でLinuxを動かすために、まずはWSLというものをインストールしていきます。
WSLとは、Windows Subsystem for Linuxの略で、Windows上でLinuxを動かすシステムです。
WSL1とWSL2の違いについてですが、WSL2の方がパフォーマンスが向上しているようです。
詳しい違いなどは以下を参照してみてください。
前提条件
WSL2はWindows10(64bit版)以降に対応しています。
また、以下の条件を満たす必要があります。
- x64システムの場合:バージョン 1903 以降、ビルド 18362 以上
- ARM64システムの場合:バージョン 2004 以降、ビルド 19041 以上
これらの情報は、「設定」→「システム」→「詳細情報」で確認します。
環境
今回は、以下のPC環境でインストールを行いました。
エディション | Windows 10 Pro |
バージョン | 21H2 |
OSビルド | 19044.2251 |
インストール
PowerShellを開いて、以下のコマンドを入力して、Linux用Windowsサブシステムを有効にします。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

続いて、以下のコマンドを入力して、仮想マシン機能を有効化します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

続いて、PCを再起動します。
再起動したら、以下リンクから「Linuxカーネル更新プログラムパッケージ」をダウンロードします。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
ダウンロードしたファイルをダブルクリックして、インストールを進めます。

インストーラーが開いたら、「Next」をクリックしてインストールを開始します。

以下の画面に切り替わったら、「Finish」をクリックして終了します。

これで、「Windows Subsystem for Linux Update」がインストールされました。
続いて、管理者権限でPowerShellを開いて、WSL2を既定のバージョンとして設定するために以下コマンドを入力します。
wsl --set-default-version 2

Ubuntuのダウンロード
続いて、Linuxのディストリビューション、Ubuntuをインストールします。
Microsoft Storeを開いて「Ubuntu」と入力して検索します。

入手をクリックして、ダウンロードを進めます。
ダウンロードが終了したら、「起動」をクリックします。
数分経つと起動して以下の画面になりますので、ユーザー名とパスワード(2回)を入力して設定します。

これでWSL2の導入ができ、Windows上でLinuxを動かす準備ができました。
WSLファイルシステムへのアクセス
ちなみに、エクスプローラを開いて、\\wsl$
のパスを入力することでエクスプローラーからWSL上のファイルシステムにアクセスすることができます。
私の場合は、デスクトップにショートカットを作成してすぐアクセスできるようにしています。

WSLからWindowsファイルシステムへのアクセス
反対にWSLからWindowsファイルシステムへアクセスするには/mnt/{ドライブ名}
を入力します。
例えば、cドライブにアクセスするには、/mnt/c
と入力します。
/mnt/c
Docker Desktopのダウンロード
ここまでで、Windows上でLinuxを動かす準備が整いました。
続いて、Docker Desktopをダウンロードして、Docker環境を構築していきます。
Docker Desktop for Windowsのインストール
まず、Dockerの公式サイトにアクセスします。

アクセスして、画面中央の「Download Docker Desktop Windows」をクリックするとインストーラーがダウンロードされます。
インストーラーをダブルクリックして、インストールを進めていきます。

ダブルクリックをすると、以下のインストーラーが起動しますので、後は画面の指示に従って進めていきます。

以下の画面になればインストール終了です。
「Close」をクリックして終了します。

デスクトップにアイコンが表示されるので、開きます。

「Accept」をクリックするとDocker Desktopが起動します。
インストールの確認
WSL上で以下のコマンドを入力し、Dockerのバージョンを確認してみます。
バージョンが表示されていれば、インストール完了です。
docker -v

最後に
以上で、Windows上でDocker環境を構築し、コンテナを扱う準備が整いました。
今後は、こちらでMysqlなどのデータベースのコンテナを構築していく手順もまとめていきたいと思います。
読んでくださった皆様の、少しでも参考になれば幸いです。