0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Docker Compose] Webアプリの開発環境をDockerで構築した話(PHP、Apache、MySQL)

Last updated at Posted at 2020-07-12

自社サービスのメンテナをしています。

悩み

  • 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でデバッグしたい

できあがったものがこちらです

appdock

くわしくはREADMEをご参照くださいmm


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?