0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelプロジェクトの始め方〜DockerのMysqlを使う編〜

Last updated at Posted at 2020-06-15

練習用にLaravelとDockerのMysqlを作成する

#1.プロジェクトを作成

composer create-project --prefer-dist laravel/laravel projectname 6.5.*
                                                      ↑プロジェクト名  ↑laravelのバージョン指定

ターミナルで上記のコマンドを入力。
laravelのプロジェクトを作成。プロジェクト名をつける。
バージョンを指定していないと最新すぎて困ることもある。:cold_sweat:

#2.時々出るらしいエラー。

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found

PCの中のPHPコマンドが壊れてたりとかすることがあるらしい。こういうときは、以下のコマンド

brew update && brew upgrade

で修復される。しばらく時間がかかるので、待つ:tea:
終わったら、1.のコマンドを打って、やり直し〜:back:

#3.DockerでMysqlを起動する呪文の解説
docker stop 〇〇|| true && docker run --name 〇〇--rm -d -it -p 33061:3306 -e MYSQL_ROOT_PASSWORD=△△ -e MYSQL_DATABASE=✕✕ mysql:5.7
の呪文をうつ。:thinking:
呪文の解説は以下。
docker stop 〇〇-mysql || true && は後で説明するのでまずはそれ以降を。

##第一部
かなりバラバラにして解説

docker run        //docker起きて!
--name 〇〇   //コンテナ(mysql)に〇〇という名前をつける
 --rm     //mysqlがstopしたときに、dockerの中身を消す。これのおかげで、次に起動するたびにmysqlは消える。(練習用なので。これをつけていないと、同じ〇〇という名前のMysqlを他で起動したときにマイグレーションがかけられないことがある)
-d -it      //オプションと呼ばれる部分。 -dはバックグラウンドで実行、-itはコンソールでの文字入力を可能にして、結果を出力
-p 33061:3306       //ポートは、pc側は33061で送って、Docker側は3306で受け取ってね。
-e MYSQL_ROOT_PASSWORD=△△  //Mysqlのパスワードを△△に設定
-e MYSQL_DATABASE=××      //××という名前のDatabaseを作成
mysql:5.7 //ver5.7のmysqlを指定。

PC側のポートは33061じゃなくてもかぶってなければよい。かぶってたら起動できないって怒られるそうな。:sunglasses:
けど、Docker側は3306で受け取るって決まりなので、それ指定で。:raised_hands_tone2:

##第二部
上記のコマンドだと起動するだけなので、そもそも今起動しているのか、ストップしているのかがわからない。:rolling_eyes:
なので、上のコマンドの前に下記のコマンドを打ちます。

docker stop 〇〇|| true  &&    //docker、 〇〇という名前のmysqlをストップして!その後に、以降の処理を実行して

&&は、&&以前の処理を済ませてから(つまり、前の処理が成功してから)&& 以降の処理を進めて、という意味らしい。
||trueは前の処理が成功していようが、していまいが、「成功」とみなす。
これによって、その後の処理は絶対に行われる。:v_tone2:

#4.Laravelの.envファイルにmysqlの設定を書き込む。

.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=✕✕
DB_USERNAME=root
DB_PASSWORD=△△

先程設定した内容を記入する。

これでLaravelライフが始まる・・・:sunrise_over_mountains:

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?