CakePHP4 と php8 の Docker コンテナを作った #cakephp #php

概要

公式 Docker Image の php:8.0-apache をベースにして、CakePHP のコンテナを作った。

DockerHub & GitHub に置いてある。

hub.docker.com

github.com

なんで作ったか

ここ最近は仕事で触る中心が CakePHP になっているので、手元で色々試せる環境をサクッと用意できるようにしておきたかったから。

あと僕は元々 php 畑じゃないこともあり、手前の理解と準備でそれなりに時間がかかったから。

OS に必要なパッケージとか php 拡張とか、設定含めた Web サーバの準備あたり。
(Web サーバについては開発だけならビルトインサーバでもいいんだけど)

突然 CakePHP 触ることになった自分みたいなケースのように、「学習の順番」をある程度柔軟にコントロールしたかったりすると役に立つかもしれない。

雑記

php:<version>-apache をベースにしている

phpApache とセットになっているイメージが公式から提供されているので、それを元にしている。

Web サーバーに強いこだわりがない(nginx 使いたいとか)がなかったのと、せっかく公式が提供しているなら使わない手はないかなと。

設定ファイルの構成とかも乗っかったりできるのが楽だった。

GitHub Actions を使ってみた

GitHub での Tag 作成をトリガーにして、 DockerHub へ反映するのに GitHub Actions を使ってみた。

DockerHub の Automated Build は正規表現でブランチ名やタグ名を引っ掛けることができるはずなんだけど、どうにもできないので、せっかくならと試してみた。

今はタグだけなんだけど、いっそ main ブランチもまとめて寄せてしまってもいいかもしれない。

それっぽい Issue は見つけた。

Automated Build Regex Doesn't Work · Issue #1831 · docker/hub-feedback · GitHub

CI もしてみた

CakePHP の実行環境ということで、新規プロジェクトを作って http アクセスできることをテストにしている

docker-cakephp/ci.yml at main · su-kun1899/docker-cakephp · GitHub

その他