Laradockを使ってLaravel環境を構築した
はじめに
今更感満載ですが、 流行りの Laravel
を Laradock
を用いて立ててみました。
Qiitaだけでも漁るといっぱい記事が出てくる内容にはなりますが、ご了承くださいm(_ _)m
Laradockとは?
こちら になります。
dockerでLaravelを動かすために開発されたプロジェクトです。
様々なPHPのバージョン、DB、ミドルウェアをチョイスすることが出来るようです。
前提
下記モジュールがインストールされていること。
それぞれ参考記事を確認いただければ、サクッとインストール可能です。
- Docker
参考記事: DockerをMacにインストールする - git
参考記事: 購入直後のMacでGitコマンドを使えるようになるまで
Laradockのインストール
プロジェクト用ディレクトリ作成
まずは下記コマンドで、プロジェクト用のディレクトリを作成します。
% mkdir ~/workspace/laravel_sample
% cd ~/workspace/laravel_sample
githubからのclone
下記コマンドで、githubから Laradock
をダウンロードします。
% git clone https://github.com/Laradock/laradock.git
Cloning into 'laradock'...
remote: Enumerating objects: 10007, done.
remote: Total 10007 (delta 0), reused 0 (delta 0), pack-reused 10007
Receiving objects: 100% (10007/10007), 8.99 MiB | 3.30 MiB/s, done.
Resolving deltas: 100% (5432/5432), done.
.envファイルの修正
クローンした Laradock
ディレクトリ内にある、 env-example
をコピーして 設定定義用の .env
を作成します。
% cd laradock
% cp env-example .env
% ls -l .env
-rw-r--r-- 1 member group 27511 1 20 17:35 .env
その後、 .env
ファイルに、下記を追加します。
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
dockerコンテナの実行
これでコンテナを起動する設定が完了したため、任意のコンテナを実行します。
今回の例では nginx
mysql
redis
を実行しています。
サポートされているミドルウェアについては、 公式ページ をご確認ください。
docker-compose up -d nginx mysql redis workspace
dockerコンテナの起動確認
下記コマンドでコンテナが起動していることを確認します。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
359efff2066b laradock_nginx "/bin/bash /opt/star…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp laradock_nginx_1
e920c68c0061 laradock_php-fpm "docker-php-entrypoi…" 2 minutes ago Up 2 minutes 9000/tcp laradock_php-fpm_1
192ebe58ccea laradock_workspace "/sbin/my_init" 2 minutes ago Up 2 minutes 0.0.0.0:2222->22/tcp laradock_workspace_1
84fbc83b3730 docker:dind "dockerd-entrypoint.…" 2 minutes ago Up 2 minutes 2375-2376/tcp laradock_docker-in-docker_1
28c432f44127 laradock_mysql "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp laradock_mysql_1
1722ae0554b7 laradock_redis "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:6379->6379/tcp laradock_redis_1
このまま http://localhost
にアクセスすると、nginxの404ページが表示されると思います。
Laravelプロジェクトの作成
まずは下記コマンドを実行し、 laradock_workspace
のイメージから作られたコンテナの中に入ります。
docker exec -it laradock_workspace_1 bash
root@192ebe58ccea:/var/www#
プロジェクト作成
下記コマンドで Laravel
プロジェクトを実際に作成します。
composer create-project laravel/laravel laravel_sample
権限変更
webサーバーから書き込みを許可するために、権限を変更する必要があるため、
下記コマンドを storage
bootstrap/cache
に対して実行します。
cd laravel_sample
chmod 766 storage
chmod 766 bootstrap/cache
nginxのドキュメントルートの設定
このままだと nginx
が別のディレクトリを参照しているため、
laradockディレクトリ内の default.conf
を修正して、ドキュメントルートを設定します。
vim /var/www/laradock/nginx/sites/default.conf
13行目あたりにある、 root
の部分を、
laravel
プロジェクトの public
ディレクトリに修正します。
12 server_name localhost;
13 root /var/www/laravel_sample/public; # この部分を修正。laravel_sampleはプロジェクト名。
14 index index.php index.html index.htm;
ここまで全て完了したら、dockerコンテナから出ます。
root@192ebe58ccea:/var/www# exit
exit
設定の反映
設定を反映するために、下記コマンドを実行し、コンテナの再起動を行います。
(コンテナIDは laradock_nginx
のものを指定します。)
docker restart 359efff2066b
起動確認
ブラウザから http://localhost
にアクセスし、下記画面が表示されることを確認します。
これでLaravelが立ち上がりました!簡単!
まとめ
Laradock
を使用すると、 Laravel
の開発環境、
また必要な各種モジュールを簡単にインストールすることができます。
今回の記事では触れませんでしたが、
ホストの Laravel
プロジェクトと Docker
内の Laravel
プロジェクトをマウントすることで、
ホスト側を修正すると Laravel
プロジェクトに即時反映する環境を作ることができます。
下記ページが参考になるかと。。
【Docker】Dockerでホストのディレクトリをマウントする
Docker
便利なので、どんどん使って慣れていきたいですね!
読んで頂きありがとうございました!
共に働くWebエンジニアを募集しています!
不動産SHOPナカジツでは自社サービスを作っていく仲間を募集しています。
詳しくはWantedlyからお問い合わせください。
お待ちしております!
Author And Source
この問題について(Laradockを使ってLaravel環境を構築した), 我々は、より多くの情報をここで見つけました https://qiita.com/inagacky/items/5b6e68e2c99a0509af58著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .