LoginSignup
2
0

More than 1 year has passed since last update.

Laradock & Laravel projectを始めてみよう!!の備忘録。

Last updated at Posted at 2019-06-30

Laradock & Laravel projectを始めてみた際に、色々調べながらだったので備忘録。

インストール手順を参考にしたサイト

1.Laradockをクローン

Laradockを自分のプロジェクト内のディレクトリにcloneする。

git clone

git clone https://github.com/Laradock/Laradock.git my-projecut

ディレクトリ構成は以下のような感じになる。

∟ my-project

Laradock
http://Laradock.io/

Laradock github
https://github.com/Laradock/Laradock

2.[.env]ファイルを作る

Laradockディレクトリ内に移動し、env-exampleをコピーしリネームする。

cd my-project

cp env-example .env

MYSQL_VERSIONがlastedなので最新versionのMySQLのdockerimageがpullされる。

そのためphpとの相互性の良い「5.7」に変更する。

念のため、コメントアウトして変更する。

# MYSQL_VERSION=latest
MYSQL_VERSION=5.7

3.コンテナ起動

docker-compose up してNginxとMySqlのコンテナを起動する。

docker-compose up -d nginx mysql

初回はかなり時間がかかる。
docker-compose up 中にでたエラーは以下参照。
-Laradockのdocker-compose upで出会ったエラー達

4.Laravelをインストール

立ち上がったら、Laradockにログインする

docker exec -it Laradock_workspace_1 /bin/bash

composerをインストール。

root@7651bdd4c89c:/var/www# composer create-project laravel/laravel src

composer
https://getcomposer.org/

Laravel
https://laravel.com/

5.コンテナ停止

Laradockの「.env」ファイルを編集するので一旦コンテナを停止する。

docker-compose stop

6.[.env]を編集

LaradockからLaravelにアクセスできるように「.env」を編集する。
Laradockの「.env」ファイルのAPP_CODE_PATH_HOST=../にLaravelのディレクトリ名を記載する。

念の為APP_CODE_PATH_HOST=../をコメントアウトする。

# APP_CODE_PATH_HOST=../
APP_CODE_PATH_HOST=../src

7.MySQLの環境設定を編集

Laradockの「.env」とLaravelの「.env」のMySQLに関する環境設定の内容を揃える。

Laradock 「.env」

MYSQL_VERSION=latest
MYSQL_VERSION=5.7
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

Laravel 「.env」

  1. DB_HOST=127.0.0.1DB_HOST=mysqlに変更
  2. DB_DATABASE=homesteadをLaradockのMYSQL_DATABASE=defaultに合わせてDB_DATABASE=defaultに変更
  3. DB_USERNAME=homesteadをLaradockのMYSQL_USER=defaultに合わせてDB_USERNAME=defaultに変更
  4. MYSQL_PASSWORD=secretDB_PASSWORD=secretの値を同じにする
DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
DB_HOST=mysql
DB_PORT=3306
# DB_DATABASE=homestead
DB_DATABASE=default
# DB_USERNAME=homestead
DB_USERNAME=default
DB_PASSWORD=secret

7.コンテナ再起動

docker-compose up -d nginx mysql

8.MySQLにログインする

以下のコマンドでMySQLコンテナにログインする

docker exec -it Laradock_mysql_1 /bin/bash

MySQLコマンドmysql -u default -pでログインする。

root@aa476699c87a:/# mysql -u default -p

Enter password:と聞かれたらDB_PASSWORD=secretで記載した「secret」をいれる。

Enter password:

以下が表示されたらMySQLにログイン成功

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Docker-Composeで立てたMySQL用コンテナの日本語設定

日本語が文字化けしてしまったので、以下のサイトを参考にした。

Docker-Composeで立てたMySQL用コンテナの日本語設定の仕方

MySQLコンテナ内でvimを使用したい場合

MySQLコンテナ内でvimを使用したかったので以下のサイトを参考にした。

Docker — docker コンテナの中で vim が使えない場合

docker command

コンテナ起動

  • docker-compose up -d Nginx mysql

MySQLにログイン

  • docker exec -it Laradock_mysql_1 /bin/bash

Laradockにログイン

  • docker exec -it Laradock_workspace_1 /bin/bash

コンテナを止める

  • docker-compose stop

mysql command

MySQLにログイン

  • mysql -u default -p

データベースを見る

  • show databases;

使用するデータベースを選択する

  • use nameOfDatabase;

テーブルの構造を確認する

  • desc nameOfTable;

テーブルのデータを確認

  • select * from nameOfTable;

テーブル内のカラムに関する情報を表示

  • show columns from nameOfTable;

テーブルに格納されているデータを削除

  • delete from nameOfTable;

テーブルを削除

  • drop tables nameOfTable;

artisan command

コマンド一覧

  • php artisan list

Laravelのversionを確認する

  • php artisan --version

.envのkeyをsetする

  • php artisan key:generate

マイグレーション実行

  • php artisan migrate

一旦全てのテーブルを削除してマイグレーションし直す

  • php artisan migrate:fresh

データベースへ初期値を設定する

  • php artisan db:seed
2
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
2
0