Fendo181 / laravel_practice

Laravel関連のrepositoryです
0 stars 0 forks source link

Laravel Repos

Laravelの基礎文法や興味があるライブラリを検証する為のreposです。

環境構築

Docker Composeを使って環境を構築しています。 以下起動手順です。

コンテナの構成は以下の通りです。 (※構築PRはこちら)

コンテナに入る場合のそれぞれのコマンドは

alpine系

docker-compose exex app ash

debian系

docker-compose exex db bash

です。

docker-composeでプロジェクトで必要なコンテナを立ち上げる

git clone https://github.com/Fendo181/laravel_practice.git
cd docker-dev/
cp .env.example .env #環境ファイルをコピー
docker-compose up #起動 

Laravelのアプリケーション立ち上げの準備

cd myapp/
composer install
cp .env.example .env
php artisan key:generate

でOK。

DBの設定

DBに入る方法

docker-compose exec mysql bash
mysql -udefault -p #secret

Mysql8.0から設定が一部変更が変わったので、php artisan migrateをそのまま行うとエラーが起きる。 その為、mysqlに入って設定を変更する必要があります。

.envのmysqlの設定を以下のようにする

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=default
DB_PASSWORD=secret

DB_HOSTmysqlにして下さい。

ルートユーザで入る

mysql -root -p#secret

以下のコマンドを実行する

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secret';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';

マイグレーションの実行

この状態でappコンテナに入り、php artisan migrateを実行する。

/myapp # php artisan migrate

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.07 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.06 seconds)

ref: MySQL 8.0以上だとphp artsian migrate時にエラーが発生する · Issue #2 · Fendo181/laravel_repos

永続化されてボリュームデータを一旦削除する

docker-composeでデータが永続化されているため、コンテナにを落としてもデータは残ります。 しかし、一度ボリュームを削除してビルドし直したい場合は以下のコマンドを実行してください

docker-compose down --volumes --rmi all
docker-compose up -d --build

ブラウザで確認する

以下のURLにアクセスすると、laravelの起動ページ表示されます。お疲れ様でした。

http://localhost:10080/