Laradock & Laravel projectを始めてみた際に、色々調べながらだったので備忘録。
インストール手順を参考にしたサイト
- http://Laradock.io/
- Laradockで簡単に開発環境を準備するメモ
- Laradockで簡単に開発環境を準備するメモ2
- Laradockを使ったLaravel開発環境構築のやさしい解説
- Laradockが上手く動かなくて困った話
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」
-
DB_HOST=127.0.0.1
をDB_HOST=mysql
に変更 -
DB_DATABASE=homestead
をLaradockのMYSQL_DATABASE=default
に合わせてDB_DATABASE=default
に変更 -
DB_USERNAME=homestead
をLaradockのMYSQL_USER=default
に合わせてDB_USERNAME=default
に変更 -
MYSQL_PASSWORD=secret
とDB_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