必要だったもの
- php 5.3の環境
- mysql 5.5の環境
- 複数のphpサイトを扱える
- 複数のphpサイトでmysqlを共有できる
考えるに至る動機
- 手元の環境はphp7にしておきたかった。
- 開発用のDB管理を楽にしたい。
今回覚えたこと
- docker-composeはとても便利だ。
- Virtual Machineのディスクやパーティション管理はやっぱり面倒だったんだな。
使っているもの
https://hub.docker.com/_/amazonlinux/
採用理由はphp 5.3をサポートしている環境で使ったことがあったから。
公式のdocker hubにはphp 5.6からしかなかった。
https://hub.docker.com/_/mysql/
MYSQL_DATABASE環境変数に複数指定する方法がわからなかったので、
Docker MySQL公式イメージを使用してDBに初期データを流し込む
http://qiita.com/furu8ma/items/75e5b1df29fef04ec7f1
を使わせてもらってます。
もしかしたらmysql公式dockerの思想では1コンテナ1データベースなのかもしれない。
サンプルプロジェクト
動作に必要なもの
docker version 17
使い方
コンテナ実行
- サンプルプロジェクトをチェックアウト
- foobar-serverフォルダに移動
- docker-compose up -d を実行してイメージ作成コンテナ起動を行う
- docker-compose logs を実行してログを確認
mysqlのデータ領域をホスト側のmysqlフォルダに作るのでコンテナを消してもDBの内容は消えない。
動作確認
http://localhost:9080/mysql_sample.php
http://localhost:9081/phpinfo.php
が見れていればOK