第1章 仮想環境を利用したローカル開発環境の構築について
ローカル開発環境とは
ローカル開発環境とは、オンライン上で公開するサーバ(本番環境)ではなく、自分のコンピュータ(ローカル)上で動作するサーバ環境です。実際にアプリケーションを公開する前にローカル開発環境で動作を確認することが可能です。実際にwebアプリケーションを構築するにあたり、ローカル開発環境を作成し、開発を行うのが一般的です。
仮想環境の作成方法
ローカル開発環境の作成方法として、以下のものが有力です。
- XAMPP, MAMPの利用
- vagrantの利用
- dockerの利用(今回はこれを採用)
MAMPについて
1のXAMPP,MAMPは Windows や MacOS 上に直接 apacheというサーバソフトウェアをインストールする仕組みになっています。単にMAMPのインストーラをインストールするだけですので単純ですが、本番環境で利用されるLinuxとは異なるOS上にインストールされることになりますので、「ローカル開発環境では動作するが本番環境では動作しない」という事象が発生する可能性が高くなります。
vagrantについて
2のvagrantは Virtual Box という仮想化ソフトウェアを利用して開発環境を構築する仕組みです。
仮想化ソフトウェアとはあるOS上のソフトウェアとして、別のOSを立ち上げるソフトウェアです。例えばMac OS上でWindowsを走らせたりすることも可能です。
開発環境の構築の場合には仮想化ソフトウェアを利用してWindows or Mac OS上にLinuxをインストールすることになります。Virtual Box単体ではその後の各種設定を自分で行う必要がありますが、vagrantを通じてVirtual Boxを利用することで設定まで全て自動で行うことが可能です。
vagrantによる環境構築は以前はよく利用されていましたが、
- 複数環境を構築する場合に、ストレージの負担が大きい
- 環境のシェアがしづらい
といった事情で、徐々に3のdockerが利用される割合が高まっています。
dockerについて
3のdockerはコンテナと呼ばれる仕組みを利用して、より軽量な仮想環境を構築する仕組みです。ローカル上に複数サーバを構築したりするときには非常に便利です。