CakePHP3をdockerで環境構築
CakePHP3 を docker で環境構築
どうも、よしかわです。
今回、CakePHP と Docker で開発するために役立つことを綴っていきたいと思います。
対象読者
- チームで CakePHP3 を開発する人
- ローカル環境を汚したくない人
- Docker を使って CakePHP3 のアプリを開発したい人
動作環境
- Ubuntu 18.04
- docker 18.06.1-ce
- docker-compose 1.22.0
docker を使って構築
docker がインストールされている環境を事前に用意してください。
使い方
GitHub で公開しているので、今回はこちらを使います
YoshikawaTaiki/CakePHP3 docker
git clone git@github.com:YoshikawaTaiki/virtualmachine-template.git cd virtualmachine-template/docker/cakephp make docker/start
ここまでで Nginx, MySQL8, PHP7, Composer の開発環境が整いました!便利ですね。
次に CakePHP3 のアプリケーションを作ります。
make php/bash cd .. composer create-project --prefer-dist cakephp/app app
これで CakePHP3 のアプリケーションの作成が完了しました!
次に app/config/app.php を編集します。
今回、データベースは MySQL なんですが、Docker コンテナの MySQL に接続します。
docker-compose.yml で定義したコンテナ名に接続するため、services の名前であるdb
を指定します。
251 行目からhost
, username
, password
を修正します。
'Datasources' => [ 'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, // this hostname is container service name 'host' => 'db', 'username' => 'root', 'password' => 'password',
Database にアクセスするために、config/app.php を修正したので、今度は docker 内の MySQL にデータベースを作成します。
password
と入力すると、my_app
が作成されます。
make migrate/init Enter password: password
以上で環境構築の終了です。めっちゃ簡単です。
確認してみましょう。以下の URL にアクセスします。
このような画面が表示されれば成功です!
ここまで長いようで短かったのではないでしょうか!
お疲れ様でした!それでは、良いハックライフを!!