LaradockでPHPフレームワーク(Laravel・CakePHP)とCMS(WordPress・Drupal・baserCMS)の開発環境(nginx・php-fpm・mysql)を構築する

初めまして。Qiitaでの初回投稿になりますが、よろしくお願いします。

Dockerでの開発環境構築を調べていたらLaradockというものを見つけ、すごく便利そうだったのでさらに調べてみると...

Composerが入ってるだけだから別のフレームワークでも使える
PHPカンファレンス関西2017に行ってきました | プログラミングメカブログ

という記事を見かけたので(...じゃあ他のフレームワークやCMSでも大丈夫なのかな?)とLaravel・CakePHP・WordPress・Drupal・baserCMSで環境を構築してみました。微妙にモジュールの違いがありましたが、それでも素早く柔軟に色々な環境を構築できるのでおすすめかと思います。

今後の検討課題

今後やってみたいこととして以下6点あるのですが、まだ知識・経験不足なので少し先になりそうです。4.以降はlaradock.ioがやってくれるのではないかと期待しています。

  1. AWS上に開発したDockerコンテナを自動デプロイできるようにする
  2. docker-syncを利用する
  3. 不必要なコンテナを精査する
  4. PHP7.2.xを使えるようにする
  5. docker-compose.ymlをversion '3' でリライトする
  6. コンテナを軽量化する

開発実行環境

Docker toolboxでの動作検証はしていません。

事前に用意しておく必要があるもの

目的

以下の想定基本構成で開発環境を構築して各PHPフレームワークとCMSのスタートページを表示させる。

想定基本構成

今回はこちらの構成を基に開発環境を構築していきます。

  • nginx
  • php-fpm
  • mysql
  • phpmyadmin

使用するPHPフレームワークとCMS

PHPフレームワーク
CMS

Laradock基本設定

上記の記事で行った基本設定ファイルの準備まではGithubに用意しましたのでご利用ください。

導入手順

1.ファイルのダウンロード

$ git clone https://github.com/nino0813g/laradock-default-setting.git

2.ディレクトリ移動

$ cd laradock-default-setting
$ cd laradock

3.コンテナ群の生成起動(以下の構成は記事例

$ docker-compose up -d nginx mysql phpmyadmin

基本構成コンテナ群の生成起動

稼働コンテナの確認

開発に必要なコンテナ(nginxやapache2など)を指定して起動します。Laradockでは動作に必要な関連コンテナが連動起動する形になっているようです。

$ docker-compose ps

         Name                        Command              State                     Ports                  
-----------------------------------------------------------------------------------------------------------
laradock_applications_1   /true                           Exit 0                                           
laradock_mysql_1          docker-entrypoint.sh mysqld     Up       0.0.0.0:3306->3306/tcp                  
laradock_nginx_1          nginx                           Up       0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1        docker-php-entrypoint php-fpm   Up       9000/tcp                                
laradock_phpmyadmin_1     /run.sh phpmyadmin              Up       0.0.0.0:8080->80/tcp                    
laradock_workspace_1      /sbin/my_init                   Up       0.0.0.0:2222->22/tcp

コンテナ接続

PHPフレームワークやCMSをインストールするworkspaceコンテナに接続します。

$ docker-compose exec workspace bash
root@98cc6b1b406d:/var/www#

PHPフレームワークやCMSをインストール

それでは、コンテナを起動してPHPフレームワークやCMSをインストールをインストールしていきましょう。

PHPフレームワークをインストール

CMSをインストール

phpmyadminについて

コンテナを起動するとhttp://localhost:8080でアクセスすることができます。【.env】ファイルのPHP MY ADMINの設定を確認してください。例:PHP MY ADMINの初期値の場合

/laradock/.env
PMA_DB_ENGINE=mysql

# Credentials/Port:

PMA_USER=default
PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret
PMA_PORT=8080

docker-build-php-from-laradock_02.png

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.