【開発環境 #4】DockerとXAMPPについて
前回でDockerの準備が整いました。今回からDocker関連で学んだことをまとめていきます。あくまで私の理解であり正確ではない可能性がありますので、その点はご留意ください。
この記事では、XAMPPからDockerへ移行した理由などを書いていきます。
WSL2 + Docker の記事一覧
Dockerとは
1台のOS(パソコン)の中に独立した複数のOS(パソコン)をサンドボックス(コンテナ)を用いてつくるソフトウェア。コンテナは簡単に作成・破棄ができ、複数コンテナを並列に起動することもできます。したがって、複数のPHPバージョンでの開発や動作確認などを他の環境(コンテナ)に影響を与えることなく容易にできます。
またDockerは従来の仮想化技術と違ってサンドボックス毎に丸ごとOSを用意しないので軽量です。
XAMPPより優れているところ
一度の環境構築であれば全てがセットになったXAMPPの方がお手軽ではあります。しかし、PHPやデーターベースの種類やバージョンを自由に組み合わせたり、複数のバージョンで並列に開発しようとすれば、途端に作業が複雑化します。このカスタマイズ(変更容易性)の面倒さは、フレームワークやレンタルサーバーなどの環境変化対応への心理的重荷となります。
当サイトはエックスサーバーで運用していますが、エックスサーバーはPHPなどのバージョンアップも行われますし、ドメイン毎に過去のバージョンを選択できるなど、ある程度の自由度があります。先ほど書いたとおり、XAMPPでそれらに対応し続けるのは大変面倒でした。
その点、Dockerであれば、コンテナ毎に独立した任意の環境を簡単に構築できるので、本番環境に合わせた開発環境更新の負担が少なくなります。
おわりに
XAMPPのバージョンアップ作業が面倒で放置した経験があり過ぎる私にDockerはぴったりでした。