PHP コンテナー仮想化

WindowsにLaravel 5.4をインストールする

投稿日:2017/07/23 更新日:

どうもPHP初心者、Laravel初心者のものです。
今回の案件ではPHPのフレームワークにLaravelを使うことにしましたのでインストール手順をまとめたいと思います。

環境

ホストOS:Windows 10
Docker:Docker for Windows
PHP: 5.6(稼働環境の関係で7.x系にできない・・・)
Laravel: 5.4
いつものようにGitHubにプッシュしてあります。
laravel-docker-for-windows

Docker

開発はすべてWindowsで行いますがartisanコマンド等はDocker上で行います。
なのでdocker run時にアプリケーションディレクトリをマウントして起動します。
プロダクション環境はオンプレでDockerは動かせないので、Dockerはあくまで開発環境として使用します。
Windowsにphpをインストールしても同様なことができると思いますので、ここはお好みで。

phpはオフィシャルのイメージをベースにしても良いのですがパッケージ等インストールするので今回はCentOSのイメージから作りました。

FROM centos:7
RUN yum -y update
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm \
    && yum -y install --enablerepo=remi-php56 php php-mysql php-gd php-mbstring php-xml php-mcrypt
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

docker build -t php56 .等を実行してエラーがでなければ大丈夫だと思います。

Docker Compose

Dockerfileだけで大丈夫なんですけど、起動オプションとかマウントとか毎回入力するの面倒なので環境情報などをdocker-compose.ymlに書いてdocker-composeで実行すると楽です。
あとDcoker Composeを使うとマウントするときに相対パスが使えるようになります。

version: "3"
services:
  php56:
    build: ./src/Docker/php56
    ports:
      - 8080:8080
    volumes:
      - src/app:/app
    command: tail -f /dev/null

docker-compose up -dでコンテナを立ち上げてdocker-compose ps等で起動していれば大丈夫です。
Docker for Windows使っている人はDocker for Windowsの設定でShared Drivesを適切に設定しておく必要があります。

Laravelのインストール

Laravelはインストーラーを使う方法とComposerを使う方法があるのですが、今回はComposerを使ってインストールしました。
上で作成したphp56コンテナにComposerがインストールしてあるのでphp56コンテナに入って作業します。
docker-compose exec php56 bashでphp56コンテナに入る。

### Laravelをインストールする
composer create-project --prefer-dist laravel/laravel . "5.4.*"

### artisanコマンドが実行できるか確認する
php artisan -V

### 内蔵httpサーバーを起動する
php artisan serve --host 0.0.0.0 --port 8080

ブラウザでhttp://localhost:8080/にアクセスしてLaravelのページが表示されればインストール完了です。

まとめ

Docker for WindowsをインストールするとDocker Composeも使えるようになります。
アプリケーションがRDBMSを使う場合もdocker-compose.ymlにサービスを追加すると使えるようになるので拡張性も高いと思います。

-PHP, コンテナー仮想化
-,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

no image

Windows7でXAMPPを使う <設定編>

前回、インストールを行ったので今回設定をしてみたいと思います。 前提条件として、外部には公開しないので、ガチガチに設定は行いませんが必要最低限の設定を行いたいと思います。 といっても、ほとんど設定する …

Docker For Windowsをインストールする

今はWindows10を使っているのですが先日Windows Creators Updateをしたところ、Vagrantの既存のゲストOSが起動しなくなりました。 それほど重要なゲストはなかったのとW …

Chef実践入門を買ってみた

昨年くらいからChefやDevOpsという言葉をよく耳にする機会があって、Chefはすごい便利そうだなーと色々なホームページを見て自分の環境に導入してみたが実際の業務に使えるというほど深く触れなかった …

mixhostにPHP Deployerを使ってデプロイする

今年の夏に、このブログのホスティング環境をmixhostに切り替えました。 mixhostはComposerも使えるのでDeployerでデプロイに挑戦してみました。 Gitのインストール Deplo …

Deployerでデプロイ時にGrafanaのアノテーションをつける

今作っているLaravelのプロジェクトはそれほど大きくないのでDeployerを使ってデプロイしています。 Zabbixを使ってAPサーバーとDBサーバーのメトリクスを取っているのでGrafanaを …