Docker Desktop+WSL2でWebアプリの試験環境がWindowsでも簡単に

今日は今更感ありますがDocker Desktopについて書いてみようと思います。

WordPressやphpmyadmin、NextCloudやJoomlaなどWEBサーバーで主に動作するアプリは多数ありますが、ちょっとWordpressの動作確認してみたいなとか、簡単なプラグイン開発してみたいなってときに、こういったアプリはまず試験環境を用意するのが面倒だったりします。例えばレンタルサーバーを借りずにWorpressを動くようにするまでには、WindowsにVirtualbox入れるか、Linuxをデュアルブートできるようにして、PHPインストールして、mySQLインストールして、正しくPHPやデータベースが動作するように初期環境を整えて、Wordpressをインストールして・・・ってやらないといけないので非常に煩雑です。またレンタルサーバーを借りていきなりそこにテスト環境を作ったりすると、設定をミスって公開してしまったり、サーバーの設定を間違っていじって本番環境もおかしくなったりと非常に面倒くさいです。

そういった悩みを解決してくれるのがDockerというコンテナ型の仮想環境です。

こっからダウンロードできます。
https://www.docker.com/products/docker-desktop

DockerはVirtualBoxやVMwareのようなコンピュータの機能をフルに再現する仮想マシンではなく、アプリケーションを動かすための一部の機能のみを仮想化して提供してくれるソフトです。例えばWordpressを動かすためには、PHPやデータベースは必要ですけど、LinuxにインストールされるFirefoxやテキストエディタは必要ないですよね。Wordpressの検証をするためにPHP5.6の環境とPHP7.3の環境を用意しよっか!ってときに仮想マシンだと、仮想マシンインストールして、PHPインストールして・・・ってのを環境ぶん用意しないといけないですけど、DockerならPHP5.6のイメージとPHP7.3のイメージをDockerにインストールするだけでそれぞれの環境が用意できてしまうので便利だったりします。

仮想マシン 仮想化の単位はマシンやOSなどフルのコンピューター。いろんな環境を用意するテスト用には無駄な部分が多い
Docker 仮想化の単位はアプリなどのコンテナ。コンテナを取り替えればテスト用に別の環境を簡単に用意できる。

で、ここ最近WindowsでもWSL2(Windows subsystem for linux)が用意され、VirtualBoxやVMWareを利用することなく、WindowsでもフルのLinux(のコマンド)を動作させることができるようになりました。OpenSSLコマンド使うためにLinuxをデュアルブートしなくてもいいのです。(WindowsでもOpenSSLくらいインストールできるけど)そしてWSL2を利用することでDockerもWindows上で使うことができ、PHPとかWordpressの環境をWindowsで手軽に用意することができるようになりました。昔はanhttpdやSygwin使ったり、Visual StudioのIIS使ったりしてWebアプリの開発を行っていたかもしれませんが、ついに時代が来たかって感じですよね。

前置きはさておき、今回はWSL2+Docker Desktopを使ってみました。

WSL2の公式のインストール方法はこちら。Windows HomeでもOK
Inside Previewを使ってるならPowerShell1行でインストール終わり
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

1.まずPower ShellでLinux 用 Windows サブシステムを有効にします

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2.仮想マシンプラットフォームを有効にします

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3.x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをインストールします(URLは公式サイト参照)https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

4.WSL2を既定のバージョンにします

wsl –set-default-version 2

ここまでやったらWindowsでLinuxのコマンドを実行する準備はOKです。
Microsoft StoreからLinuxのディストリビューションをインストールするとapt-getとかのようなLinuxのコマンドが実行できるようになります。

https://aka.ms/wslstore

ただし、Virtual Boxと違ってWSL2のLinuxコマンドラインしか使えないです。フルのLinuxなんでリモートデスクトップとかインストールすればいいみたいですが。

ここまでできたらWindowsにDokcer Desktopをインストールしてみましょう。Windowsアプリなんでダブルクリックするだけでインストールできるお手軽さ。

インストールが完了するとdockerコマンドが PowerShellで使えるようになります。準備はここまで次回はWordpressをインストールしてみます。

投稿者:

この記事をシェアする