LoginSignup
0
0

More than 1 year has passed since last update.

AWS Cloud9+Docker ComposeでLaravel環境を構築

Last updated at Posted at 2021-11-19

docker-composeをインストールする

・Docker Composeの現在の安定リリースバージョンをダウンロード

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

・実行権限を付与する

$ sudo chmod +x /usr/local/bin/docker-compose

・動作確認

$ docker-compose -v
docker-compose version 1.25.0, build 0a186604

Laravel環境の準備

・コンテナ定義をクローン

$ git clone https://github.com/bobtabo/docker-cloud9.git docker

・コンテナを起動

$ cd docker
$ docker-compose up -d
・・・
Creating mysql ... done
Creating php   ... done
Creating nginx ... done

・PHPコンテナに入る

$ docker-compose exec --user 1000 php bash

・Laravel環境を準備

$ pwd
/home/docker

$ cd laravel
$ composer install
$ chmod -R 777 storage
$ chmod -R 777 bootstrap/cache
$ cp -p .env.example .env
$ php artisan key:generate
$ chmod 755 bin/clear-laravel.sh
$ bin/clear-laravel.sh
$ php artisan migrate:fresh --seed

下記でコンテナから抜けられる

$ exit

Dockerコンテナ

・Dockerのコンテナを確認

 $ docker ps -a
 CONTAINER ID   IMAGE          COMMAND                  CREATED       STATUS                   PORTS     NAMES
5f3da7ad98cb   docker_nginx   "/docker-entrypoint.…"   5 hours ago   Exited (0) 2 hours ago             nginx
6c00c94b7dde   docker_php     "docker-php-entrypoi…"   5 hours ago   Exited (0) 2 hours ago             php
49bac02e0f94   mysql:5.7      "docker-entrypoint.s…"   5 hours ago   Exited (0) 2 hours ago             mysql

・Dockerのコンテナにログイン

docker exec -it [コンテナ名] /bin/bash

・Dockerのコンテナを削除

docker rm [コンテナID]

Laravel

・ローカルサーバーを立ち上げる

 $ cd docker
 $ cd src
 $ cd laravel
 $ php artisan serve --port=8080

PreviewRunningApplicationをクリック

エラーが発生したので対応する

・権限を付与

chmod -R 777 storage

・コマンド打ちキャッシュを削除

$ php artisan cache:clear
$ php artisan route:clear
$ php artisan config:clear
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0