XAMPPからdocker + Remote Containerにしてみた
たまにはエンジニアっぽいことも書いてみようかと。
長年、LAMP環境はXAMPPを使っていたのですが、会社でdockerを使うこともあり、自宅PC環境でもdockerを使ってみることにしました。
XAMPPのPHPバージョンが7.3だったので、WordPressのとあるテーマのサポートから外れてしまってたんですよね。
ということで、環境構築時にカスタマイズできるdockerで構築し、VS codeのRemote Containerで使えるようにしてみました。
せっかくなので、感想やレビュー等書いてみようかなと思い、この記事の記述にいたってます。
dockerを使ってみた感想
環境構築ファイルはネットに落ちているのですが、はじめは理解が追い付かず、エラーの山!
おかげさまでエラーの解消の仕方もだいぶ慣れましたw
設定ファイルの指定の意味を理解するまでの時間が大幅にかかってしまったけど、理解したらカスタムしやすい!
はじめはどのファイルがあかんのかわからず四苦八苦。
Remote Container独特の設定方法devcontainer.jsonファイルとdocker-compose.ymlの違いも判らず・・・。
devcontainer.jsonはvscodeでリモートホストに接続するときの設定ファイルということはわかったのですが、gitとXdebugも追加で入れたいだけなのにどう指定したらいいのやら・・・。
DockerfileでのgitとXdebugインストールの方法はあちこちに解説サイトがあったのですが、Remote Containerの解説があまりない気がしました。
何度か設定ファイルの仕方が合ってるのに、rebuildでエラーが出まくり、設定間違えたかなと思いきや、一部のコンテナが起動しっぽなしということも。この辺はなにか設定が足りないのかもしれない。
メリット
自分の好みの環境にカスタマイズできる。
リリース用のサーバーと環境を合わせやすい。
PHP等各サービスのバージョン管理がしやすい。
1つ作ってしまえば、別の環境にも流用できるため汎用性が高い。
拡張機能のうちどれをリモート環境にも入れるかを設定できるので、拡張機能の環境を複数人でも合わせやすい。
デメリット
カスタマイズをしようとすると学習コストが半端ない。
Remote Containerを使用しているためか、時々重い。
振り返ってみると、メリットのほうが断然多い。
今回はRemote Container+カスタマイズで環境を作ったため苦労しましたが、Remote Containerの機能のみで作るのであればこんなに苦労しません(/ω\)
Remote Containerの機能を使えば、マウス操作だけでPHP + mariaDB + node + git の環境も作れますので学習コストもかかりません!
設定ファイルやディレクトリ構成などは下記にまとめてみました。ご興味のある方はご一読くださいませ。