##概要##
・自分が詰まったポイントと同じポイントで詰まった方向けにAWSにlaravel/dockerをデプロイするまでの過程を書いていきます。
##EC2インスタンス内にGitをクローン##
Gitのリモートレポジトリにある任意のlaravelプロジェクトをEC2インスタンス内にクローンします。
root@ip:/home/ubuntu# git clone [任意のレポジトリURL]
##Dockerコンテナの立ち上げ##
cloneした自分のフォルダ(docker-compose.ymlのある)へ移動し、コンテナを立ち上げます。
root@ip:/home/ubuntu/awstest# docker-compose up -d
root@ip:/home/ubuntu/awstest# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------
awstest_app_1 docker-php-entrypoint php-fpm Up 9000/tcp
awstest_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
awstest_web_1 /docker-entrypoint.sh ngin ... Up 0.0.0.0:10080->80/tcp
この様に立ち上がればOKです。
苦戦した箇所
docker-compose.ymlのバージョンエラーが出てエラー内容通り
root@ip-172-31-35-36:/home/ubuntu/awstest# vi docker-compose.yml
version: "3.3" ←3.8から3.3に変更
とversionを変更しました。
さらにgitへのpushが間違っていた為docker関連のファイルが無く立ち上がりませんでした。
こんなミスするヤツ自分以外いないと思いますが万が一同じ人がいたらファイルの確認をしてみて下さい。
##Laravel環境設定##
Laravelが使えるように環境設定をしていきます。
appコンテナに入ります。
root@ip:/home/ubuntu/awstest# docker-compose exec app bash
Laravelプロジェクト内の環境設定を行う.envファイルは.gitignoreにて指定されているため、Gitリポジトリにプッシュされません。
なので再度作成します。
root@:/work# cp .env.example .env
.envを作成したらcomposer install、そしてAPP_KEYも発行します。
root@:/work# composer install
root@:/work# php artisan key:generate
##プロジェクト内の権限変更##
プロジェクト内のファイルに対する権限を変更します。
通常では storage/logs と vendor の権限を変更すればOKみたいです。
ここでもエラーが起き少し苦戦しました。
file_put_contentsエラーでViewが開かない
root@:/work# chmod 777 storage/logs vendor
root@:/work# chmod 777 storage/framework/views
root@:/work# chmod 777 storage/framework/sessions
ここまでやってようやくTOPページが開ました。
http://[設定したElastic IPアドレス]:10080にブラウザからアクセスします。
この様に表示されればOKです。
##マイグレーションを実行する##
root@:/work# php artisan migrate
root@:/work# php aritsan db:seed
ここまでやればローカルで作成したアプリが動くと思います。
以上で「AWSにEC2上にdockerを使用したlaravelをデプロイ」を終了させていただきます。
ありがとうございました。
前回の記事
AWSにEC2上にdockerを使用したlaravelをデプロイ③
**間違い等ございましたらご指摘お願い致します**