LoginSignup
1
0

More than 5 years have passed since last update.

【Laravel】Laradockを利用したLaravel環境構築

Last updated at Posted at 2019-04-05

忘れっぽいので自分用かも...

Laradockという、オープンソースを使って環境を構築する
また、GitとDockerはインストール済みとして進めて行く

Laradockのダウンロード

まずは、gitからclone

$ git clone https://github.com/Laradock/laradock.git

.env作成

cloneしてきたlaradockディレクトリに移動し、env-exampleファイルをコピーして、
.envファイルを作成

$ cd laradock
$ cp env-example .env

コンテナ起動

次に以下コマンドで、コンテナを初期化
初期化には少し時間がかかる

$ docker-compose up -d nginx mysql workspace phpmyadmin

Laravelのプロジェクト作成

プロジェクトはworkspaceコンテナ上に作成する

まずは、workspaceコンテナへログイン

$ docker-compose exec --user=laradock workspace bash

新規プロジェクト作成
プロジェクト名はsample

$ composer create-project laravel/laravel sample --prefer-dist "5.5.*"

すると、sampleプロジェクトが作成される
一度、コンテナからログアウト

$ exit

共有ディレクトリの設定

最後に.envファイルを開き、編集する

.env
###########################################################
###################### General Setup ######################
###########################################################

### Paths #################################################

# Point to the path of your applications code on your host
# APP_CODE_PATH_HOST=../          // コメント化
APP_CODE_PATH_HOST=../sample      // 追加
...

編集が完了したら、保存
設定変更を反映させるためにコンテナを停止させ、再起動

// 停止
$ docker-compose stop
// 再起動
$ docker-compose up -d nginx mysql

これで環境構築完了です

Migration時のエラー

下記のエラーでMigrationが実行できなくて詰まったので追記
権限の問題らしい

In Connection.php line 664:

  SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schem  
  a = default and table_name = migrations)                                                                                                                 


In Connector.php line 67:

  SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client  


In Connector.php line 67:

  PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]             

まず、mysqlコンテナに入り、mysqlコマンドを叩く

$ docker-compose exec mysql bash
$ mysql -u root -p

権限を変更するコマンドを叩く

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

実行できたらexitで終了
これでmigrationできた

1
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
1
0