SQL PHP Docker Apache

DockerでApache+PHP+MySQLの環境を手っ取り早く構築

ども、シローです。

今回は、DockerでApache+PHP+MySQLの環境を構築したので、サンプルリポジトリも含めてご紹介します。

それにしてもDockerいいですね〜、他の人でも簡単に再現できるというのが良い

サンプルプロジェクト

実際に作成したサンプルはこちら=> (https://github.com/smithshiro/docker-tohu-env)

Tohu ENVという名前ですが、豆腐はTofuらしいですね笑

名前の由来は豆腐を最近食べているから、それ以上でもそれ以下でもない。

環境構築した後でもサンプルコードで次のようなページを開いてフォームの送信などでDBとの疎通を確認できます。

フレームワークとか一切使ってないっす

環境

ApacheとかPHPとかMySQLの環境

Apache 2.4.38 (Debian)
PHP 7.4.20
MySQL 5.7.33

そんな古くはないと思う(2021-06-08)

インストール+立ち上げ

プロジェクトをgit cloneでインストール

$ git clone git@github.com:smithshiro/docker-tohu-env.gi

プロジェクトに入ってdocker-compose upで立ち上げ(僕は-dをつけない派、Ctrl+cですぐ閉じれるので)

このようにプロセスが立ち上がっているはず

ブラウザで(http://localhost:18080)で開いてサンプルページが表示されればOK

解説など

このサンプルについてつらつらとまとめます〜

Apache+PHPのDockerリポジトリについて

phpのリポジトリに-apacheをつけるとapache+phpの環境になるぽいですね、公式 (https://hub.docker.com/_/php)

動かしてみて、追加の拡張が必要なときなこのファイル(docker/apache/Dockerfile)をいじれば良いです。

設定ファイルとしては、Apacheの設定(httpd.conf)とPHPの設定(php.ini 空っぽだけど)を編集すれば良いです。

MySQLのリポジトリについて

mycliというコマンドが便利なので、それが使えるようにしています。mycli => (https://www.mycli.net/)

my.cnf(docker/db/conf/my.cnf)というファイルを編集してDBに関する設定を変更できます。

初期データを追加したりなどはdocker/db/init/配下にSQLファイルをセットすれば、立ち上げ時に実行してくれます。

データベースの実態はdocker/db/dataの中に入ってます。もちろんgitでは管理してません。

空ディレクトリをリポジトリに加える場合はディレクトリ内に.gitkeepを作成して、リポジトリ配下のファイルをイグノアーすればいいようです。

まとめ

  • Apache+PHPのDockerリポジトリはphp:(version)-apacheである
  • Apacheの設定ファイル、PHPの設定ファイルは立ち上げ時に反映できるようにしたほうがいい
  • MySQLのリポジトリはmy.cnfで立ち上げ時に反映できるようにしたほうがいい
  • 豆腐はTofu

よかったら使ってくださいね〜

 

Docker実践ガイド 第2版 impress top gearシリーズ
本書では、技術者だけでなく、IT基盤の方向性の検討や戦略の立案、意思決定を行う立場の方が、導入前の検討を実践できる内容を盛り込みました。具体的には、コンテナの特徴、導入時の検討項目、注意点などのチェックリストを設け、システム構成例などを解説図にまとめ、要点を把握しやすいようにしました。また、大規模データセンター向けのコンテナ基盤構築の経験がない技術者でも、その基礎を理解できるよう、Dockerのインストール手順、使用法などを具体的に記載しています。

-SQL, PHP, Docker, Apache

© 2023 Shiro's secret base