自社サービスのメンテナをしています。
悩み
- PHP、Apache、MySQLのバージョン上げなアカン
- でも、旧バージョンもメンテし続けなアカン
- ローカルPCでの開発環境がゴチャついてきた
- 顧客ごとにカスタマイズされてて、顧客環境ごとにソース自体が微妙に違ってる・・・
- できたらリモートサーバなしで、ローカルPCだけで完結させたい
Webサーバのディレクトリ構造はこんな感じ
/var/apps/
|-- abc # 株式会社abcさま用アプリ
| |-- abc.php
| |-- abc.png
| `-- ・・・
|-- def # 株式会社defさま用アプリ
| |-- def.php
| |-- def.png
| `-- ・・・
`-- ghi # 株式会社ghiさま用アプリ
|-- ghi.php
|-- ghi.png
`-- ・・・
Dockerでなんとかしたいのですが・・・
- アプリのバージョンで、PHPやMySQLのバージョンが異なる
- アプリのバージョンごとにそれぞれの環境が必要
- 顧客ごとにDBのインスタンスが異なる
- MySQLの公式Dockerイメージって、初回起動のときにしかDB初期化スクリプト走らない
- なので、初回起動以降は、いちいちDBコンテナに入ってDB作ったりテーブル作ったりラジバンダリ
- 開発環境なので、デバッグを容易にできるようにしたい
Docker Composeでなんとかする
- アプリが依存するPHP、Apache、MySQLのバージョンを切り替えられるようにする
- 各アプリが使用するMySQLのDBインスタンスの生成を手軽に行いたい
- Xdebugでデバッグしたい
できあがったものがこちらです
くわしくはREADMEをご参照くださいmm