PHP コンテナー仮想化

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

どうも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のイメージから作りました。
[bash]
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
[/bash]
docker build -t php56 .等を実行してエラーがでなければ大丈夫だと思います。

Docker Compose

Dockerfileだけで大丈夫なんですけど、起動オプションとかマウントとか毎回入力するの面倒なので環境情報などをdocker-compose.ymlに書いてdocker-composeで実行すると楽です。
あとDcoker Composeを使うとマウントするときに相対パスが使えるようになります。
[python]
version: "3"
services:
php56:
build: ./src/Docker/php56
ports:
- 8080:8080
volumes:
- src/app:/app
command: tail -f /dev/null
[/python]
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コンテナに入る。
[bash]
### 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
[/bash]

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

まとめ

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

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

© 2024 ビー鉄のブログ Powered by AFFINGER5