Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

phpとmysqlで開発する時に使うdocker-composeについて考えた

More than 3 years have passed since last update.

必要だったもの

  • 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データベースなのかもしれない。

サンプルプロジェクト

https://github.com/iyoda/docker_sample

動作に必要なもの

docker version 17

使い方

コンテナ実行

  1. サンプルプロジェクトをチェックアウト
  2. foobar-serverフォルダに移動
  3. docker-compose up -d を実行してイメージ作成コンテナ起動を行う
  4. docker-compose logs を実行してログを確認

mysqlのデータ領域をホスト側のmysqlフォルダに作るのでコンテナを消してもDBの内容は消えない。

動作確認

http://localhost:9080/mysql_sample.php
http://localhost:9081/phpinfo.php
が見れていればOK

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away