概要
今あるLaravelプロジェクトをチームで開発するためにdockerを導入しました。
導入コストがかからないようにlaradockを採用。
その時のことをメモ。
また、今回は他所のリポジトリで既に管理しているプロジェクトとLaradockを取ってきますが、
新しく作成するgit管理ファイルでまとめたいのでそれぞれのフォルダ内にある.gitファイルを削除して親ディレクトリ(まとめディレクトリ)でまとめる、という風にしています。
このやり方が漠然と、良くない事なのかもしれないと思いながらこれをしているので
もし問題点や他にいいやり方等があれば教えて頂けると嬉しいです。
(もしくはこれが無意味だ、等)
前提
- プロジェクトをgitで管理していること
- PCにdocker環境が整っていること (以下にURLだけ投げときます)
-
.gitignoreに予めlaradock/が追記されていること
※.gitignoreの編集はプロジェクトにおいて権限がある方に済ませてもらいましょう
※windows10 home (toolbox)でも試しましたが
うまくいかなかったのでこの記事では諦めてください、、
docker -- windows10 pro
dokcer -- mac
目標
この記事での手順を通して、メンバーそれぞれが自身のローカル環境で
共通のLaravelプロジェクトの開発、およびそのコードのgithubでの管理を目標とします。
目標ディレクトリの構成
project
|
| - laradock
|
| - src(Laravel project) -- app等々
※laradockはgit管理対象から外します
※単なるプロジェクト(project)とした表記は親ディレクトリで
Laravel プロジェクトとした表記はLaravel project を指しています
参考記事
Laravel プロジェクトをクローン
-
git cloneします
git clone {管理しているLaravelプロジェクトリポジトリのURL}
クローンしたプロジェクトに.envを用意しておきます
-- mac
cp .env.example .env
-- windows
copy .env.example .env
Laradock クローン
- プロジェクト用のディレクトリの作成 & 中に移動
cd {プロジェクト名}
- Laradock をクローン
git clone https://github.com/Laradock/laradock.git
-
.envをコピー生成
-- mac
cd laradock && cp env-example .env
-- windows
cd laradock && copy env-example .env
-
docker-compose.ymlのapache2 serverのports
/laradockにあるdocker-compose.ymlのapache2 serverの欄のportsの部分を以下のように書き換えてください。
portについて、ローカルの他のwebサーバー系と面倒なことが起きないようにlocalhost:8002で受け付けるようにしています。
※.envに変数を書いてそこから取ろうとしたのですが、うまくいかなったので直書きしています。
どなたかもしわかればご教授ください、、
-
apache2/sitesのdefault.apache.confを編集
エディタで以下のように編集してください
2行目のServerNameをlocalhostに変更します
3.6行目の/var/www/を/var/www/{Laravelプロジェクト名}/publicに変更します
コンテナ立ち上げ
実際にローカル環境を立ち上げてみます
cd laradock && docker-compose up -d apache2
立ち上げたコンテナに入っていきます
docker exec -it laradock_workspace_1 bash
/var/wwwに入ると思うので、プロジェクトディレクトリに入ってcomposerを入れていきます
cd { プロジェクト名 } && composer install
次にLaravel プロジェクトのAPP_KEYを生成します
php artisan key:generate
このコマンドが正常に完了したのち、ブラウザでlocalhost:8002に入り、
プロジェクトのトップページが表示されていれば成功です
上の部分までできたら、あとは実際に開発していくのみです。
では。

