設定ファイルの作成に苦戦しましたが、やっと環境をつくれました!
docker-compose up -d
で起動してdocker-machineのipに接続すると、NginxからPHP-FPMへちゃんと処理が渡せてphpinfo()
が表示できました!
構成図はこんな感じです。
設定ファイル一式はGitHubで公開しているので参考までにどうぞ。
これで本題のCakePHP3のチュートリアルに進めそうです。
おまけ
ログの確認
docker上のログを確認できます。
(これコマンド実行するたびに全部出てくるけど、リセット(フラッシュ)できるのかな)
$ docker-compose logs Attaching to cakephp3_nginx_1, cakephp3_phpfpm_1, cakephp3_mysql_1 mysql_1 | Initializing database mysql_1 | 2016-05-01T03:07:01.230873Z 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive mysql_1 | 2016-05-01T03:07:02.665359Z 0 [Warning] InnoDB: New log files created, LSN=45790 (省略)
dockerに接続する
設定ファイルのdebugなどでdocker内に接続するにはexecコマンドが便利ですね。
適当なVolumeを接続した状態で起動して、設定ファイルの取り出しに役立ちました。
$ docker exec -it cakephp3_nginx_1 /bin/sh
状態確認
docker-compose ps
するとdocker-composeで起動したdockerの状態が分かります。
$ docker-compose ps Name Command State Ports ------------------------------------------------------------------------- cakephp3_mysql_1 docker- Up 3306/tcp entrypoint.sh mysqld cakephp3_nginx_1 nginx -g daemon Up 0.0.0.0:443->443 off; /tcp, 0.0.0.0:80 ->80/tcp cakephp3_phpfpm_ php-fpm Up 9000/tcp 1