最近、Dockerを使ってWordPressのローカル開発環境を作りました。
これまでもローカル環境でWordPressを触ることはありましたが、Dockerを使って自分で環境を構築したのは今回が初めてでした。
実際にやってみると、最初は分からないことも多く、正直かなり苦戦しました。
ただ、環境が完成して仕組みが少しずつ理解できてくると、今後WordPress案件を進めるうえで大きなメリットがあると感じました。
今回は、DockerでWordPressの開発環境を作って感じたことを書いていきます。
最初は何をしているのか分からなかった
Dockerを触り始めたときに一番難しかったのは、コマンドそのものよりも、それぞれの役割を理解することでした。
例えば、WordPressだけを動かせばいいわけではなく、実際には複数の環境が連携しています。
WordPressを動かす環境
データベースを管理するMySQL
データベースを確認するphpMyAdmin
本番環境と同期するWordmove
これらをDocker Composeでまとめて動かします。
最初は、
「今どの環境を操作しているのか」
「ファイルはどこに保存されているのか」
「データベースはどこにあるのか」
という部分がよく分かりませんでした。
エラーが出ても、Dockerの問題なのか、WordPressの問題なのか、データベースの問題なのか判断できません。
この状態が一番大変でした。
エラーが出るたびに仕組みが分かってきた
環境構築中は、何度もエラーが出ました。
データベースに接続できなかったり、サイトURLが本番環境のままになっていたり、プラグインが原因で画面が表示されなかったりしました。
そのたびに原因を調べて、一つずつ修正していきました。
作業中はかなり時間がかかりましたが、振り返ると、エラーが出たことで仕組みを理解できた部分も多かったです。
ただ手順をコピーして環境を作るだけでは、
「なぜこの設定が必要なのか」
「どこで本番環境とつながっているのか」
という部分までは理解できなかったと思います。
エラーの原因を探す中で、WordPressのファイルとデータベースが別々に管理されていることや、URL情報がデータベース内に保存されていることも、以前より具体的に理解できました。
本番環境を直接触らなくていい安心感
Docker環境を作って最も大きなメリットだと感じたのは、本番サイトを直接編集しなくてよくなることです。
以前は、サーバー上のファイルを直接編集したり、WordPressの管理画面から修正したりすることもありました。
軽微な修正であれば問題ない場合もありますが、編集内容にミスがあると、そのまま公開中のサイトに影響します。
特にPHPファイルを修正する場合、コードを少し間違えるだけで画面が表示されなくなる可能性があります。
ローカル環境があれば、まず自分のパソコン上で修正内容を確認できます。
レイアウトが崩れていないか
PHPエラーが出ていないか
スマートフォンでも正しく表示されるか
既存機能に影響が出ていないか
こうした確認をしてから本番環境へ反映できるため、安心感が大きく変わりました。
制作側の安心感だけではなく、クライアントのサイトを安全に管理するという意味でも重要だと感じます。
Gitと組み合わせることで変更履歴を残せる
今回、Docker環境を作るだけではなく、GitとGitHubでもテーマファイルを管理するようにしました。
これまでは、修正したファイルをそのまま上書きすることが多く、
「どこを変更したのか」
「以前の状態に戻したいときはどうするのか」
という部分が曖昧でした。
Gitで管理すると、変更したファイルや内容を記録できます。
万が一、修正後に不具合が発生した場合でも、以前の状態を確認したり、変更内容を戻したりできます。
WordPress制作では、公開後も修正や機能追加が発生します。
そのたびにファイルを上書きしているだけでは、長期的に管理するのが難しくなります。
Dockerで開発環境を整え、Gitで変更履歴を残すことで、少しずつですが、場当たり的な修正から管理しやすい開発方法に変わってきたと感じています。
Wordmoveの便利さも実感した
今回の環境では、Wordmoveを使って本番環境とローカル環境を同期しました。
Wordmoveを使うことで、本番環境から以下のデータを取得できます。
WordPressのテーマ
アップロード画像
データベース
プラグイン
必要なものだけを指定して取得することも可能です。
逆に、ローカルで修正したテーマを本番環境へ反映することもできます。
以前は、FTPソフトを使ってファイルを一つずつアップロードしていました。
もちろんFTPでも更新できますが、アップロードするファイルを間違えたり、必要なファイルを入れ忘れたりする可能性があります。
Wordmoveを使えば、決めたコマンドでテーマを反映できるため、作業手順を統一しやすくなります。
ただし、コマンド一つで本番環境を書き換えられるため、操作を間違えたときの影響も大きくなります。
便利だからこそ、実行前に何を取得し、何を反映するコマンドなのかを理解しておく必要があると感じました。
環境構築はゴールではない
Docker環境が完成したときは達成感がありました。
ただ、環境を作っただけでは、WordPressサイトの品質が上がるわけではありません。
重要なのは、その環境を使って安全かつ効率的に開発を進めることです。
どれだけ便利な環境を作っても、毎回適当に本番へ反映していたり、Gitに変更履歴を残していなかったりすると意味がありません。
今後は、作業手順を自分の中で決めていく必要があります。
例えば、
作業前に本番環境の最新データを取得する
ローカル環境で修正する
表示や機能を確認する
Gitに変更内容を記録する
本番環境へ反映する
本番環境でも最終確認する
この流れを習慣化することが重要です。
環境構築そのものに満足せず、日々の作業で正しく使い続けることが本当の目的だと思います。
手作業のままでも仕事はできる
正直、DockerやGitを使わなくてもWordPressサイトは作れます。
FTPでファイルをアップロードし、管理画面から更新する方法でも仕事はできます。
実際に、これまではその方法で対応してきました。
ただ、案件が増えたり、サイトの規模が大きくなったりすると、手作業だけでは管理が難しくなります。
一人で制作している間は問題がなくても、数カ月後に過去の修正内容が分からなくなることもあります。
また、自分以外の人と作業する場合、共通の開発環境や変更履歴がなければ、認識のズレや上書き事故が起きやすくなります。
DockerやGitの導入は、今すぐ制作物の見た目を良くするものではありません。
そのため、つい後回しにしやすい部分です。
しかし、長期的にWeb制作を続けるのであれば、早い段階で管理方法を整えておく価値は大きいと感じました。
まとめ
DockerでWordPressの開発環境を作る作業は、想像していたよりも簡単ではありませんでした。
設定ファイルやデータベース、サーバーとの接続など、今まで意識していなかった部分を理解する必要がありました。
その一方で、環境を作ったことで、WordPressがどのように動いているのかを以前より深く理解できました。
また、ローカル環境で修正を確認し、Gitで変更履歴を残し、Wordmoveで本番環境へ反映する流れを作れたことは大きな前進でした。
まだすべてを完全に理解できているわけではありません。
コマンドを見ながら操作することもありますし、エラーが出ると原因を探すのに時間がかかります。
それでも、分からないから避けるのではなく、実際に環境を作って動かしたことで、少しずつ自分で対応できる範囲が広がってきました。
Docker環境を作って感じたのは、単に新しいツールを使えるようになったということではありません。
安全に開発し、変更を管理し、同じ手順を再現できるようにすることが、制作を続けていくうえで重要だということです。
今後も実際の案件で使いながら、より効率的で安全なWordPressの開発方法を身につけていきたいと思います。