【Laravel】Laradockを使い最速で簡単に環境構築 #3Laravelインストール

  • 2020.02.23
  • Web
【Laravel】Laradockを使い最速で簡単に環境構築 #3Laravelインストール

今日は、最終回でいよいよLaravelをインストールしていきます。

これからやること

合計3回にわたって、以下のことをやっていきます。

前回からの続きで、下記のようなフォルダ構成になっていると思います。

project-folder
└── laradock

これからLaravelをインストールして、下記のようなフォルダ構成にしていきたいと思います。

project-folder
└── laradock
└── laravel

Laradockのセットアップ

Docker Quickstart Terminalを起動します。laradockフォルダに移動して、.envの作成をします。

$ cd laradock

$ cp env-example .env

作成された.envの8行目周辺にあるAPP_CODE_PATH_HOSTを以下のように編集します。

project-folder
└── laradock
    └── .env
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../laravel

nginxが入っているコンテナの起動

nginxといわれるWebサーバソフトが入っているコンテナーを起動すると、ローカルPCのブラウザからLaravelの環境にHTTPリクエスト、HTTPレスポンスができるようになります。

以下のコマンドでnginxのコンテナを起動します。

$ docker-compose up -d nginx
・
・
中略
・
・
Creating laradock_docker-in-docker_1 ... done
Creating laradock_workspace_1        ... done
Creating laradock_php-fpm_1          ... done
Creating laradock_nginx_1            ... done

「docker-compose」は複数のコンテナを管理するときにdockerを操作する便利なコマンドです。「up -d」はバックグラウンドで起動させてます。

以下のサイトが「docker-compose」についてうまくまとめられています。

DockerComposeの基本

https://qiita.com/tfrcm/items/970f6b22e11145478ab1

docker-composeを使うと複数コンテナの管理が便利に

https://qiita.com/y_hokkey/items/d51e69c6ff4015e85fce

以下のコマンドでコンテナの起動を確認します。
StateがUpになっていればコンテナが正常に起動されています。

$ docker-compose ps

           Name                          Command              State                                  Ports
------------------------------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Up      2375/tcp, 2376/tcp
laradock_nginx_1              /bin/bash /opt/startup.sh       Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:81->81/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Up      9000/tcp
laradock_workspace_1          /sbin/my_init                   Up      0.0.0.0:2222->22/tcp, 0.0.0.0:8001->8000/tcp, 0.0.0.0:8080->8080/tcp

Laravelインストール

Laravelの実行環境になるworkspaceにログインし、Laravelをインストールします。

$ docker-compose exec workspace bash

/var/www# composer create-project --prefer-dist laravel/laravel .
・
・
中略
・
・
Package manifest generated successfully.
> @php artisan key:generate --ansi
Application key set successfully.

「composer」はPHPのパッケージ管理ツールです。

PHP開発でComposerを使わないなんてありえない!基礎編

https://qiita.com/niisan-tokyo/items/8cccec88d45f38171c94

workspaceコンテナには、最初からcomposerコマンドが使えるようになっています。

# composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.1 2019-11-01 17:20:17

Laravelのページ出力確認

いままで構築してきたLaravelの環境にアクセスして、ブラウザに画面表示させてみたいと思います。

Dockerには起動時にIP 192.168.99.100が割り当てられています。

そのため、ブラウザに画面表示させるためには、ブラウザのアクセス欄には「http://192.168.99.100」を入力します。

Enterを押して、以下の表示がされていたら成功です。

作業終了

このままウィンドウ右上の×を押して、強制終了してしまうと、次回Dockerを起動したときに不具合が起こる可能性があるため、以下の作業を行います。

workspaceコンテナを抜けます。

# exit

exit

「stop」コマンドで現在起動しているコンテナ全てを停止します。

$ docker-compose stop
Stopping laradock_nginx_1            ... done
Stopping laradock_php-fpm_1          ... done
Stopping laradock_workspace_1        ... done
Stopping laradock_docker-in-docker_1 ... done

$ docker-compose ps
           Name                          Command               State     Ports
------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Exit 0
laradock_nginx_1              /bin/bash /opt/startup.sh       Exit 137
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Exit 0
laradock_workspace_1          /sbin/my_init                   Exit 0

docker-machineを停止します。

$ docker-machine stop
Stopping "default"...
Machine "default" was stopped.

$ exit

まとめ

これで、Laradockを使ったLaravelの環境構築は終了です。
想像以上に簡単だったかと思います。

Dockerで仮想化をして、Laravelの環境構築をする最大のメリットは、うまくいかなかったらコンテナを削除して、また入れ直すというのがとても簡単にできることです。

もうどうにでもならなくなったら、Docker toolboxをアンインストールして、
再度インストールしてもいいですし笑

もし、Laravelについて詳細な情報が知りたい方は、公式サイト他いろいろググってみてくださいね。

Laravelには日本語で詳細なドキュメントが用意されています。

公式ドキュメント

https://readouble.com/laravel/

公式ドキュメントは少し難しいと思われる方は、まず下記の書籍がとてもわかりやすいです。今年の初めに第2版が販売されて、現在のLaravel6のバージョンに対応しています。

このあとの学習方法としては、ポートフォリオの制作に入ると思うのですが、いきなりポートフォリオ制作に入ると、何を作っていいのか悩みがち、、、

ネット上には、無料で素晴らしいチュートリアル形式の記事がたくさんあります。

有料ですが、Techpitというサービスもおすすめです。教材がたくさんあり、なにか不明点があればコメントで執筆者に聞くこともできます。

Techpit(テックピット)はこちらから

以上です。これまでお付き合いいただきありがとうございました。
それでは。