LoginSignup
3
6

More than 3 years have passed since last update.

laradockの環境設定からMySQL接続まで

Posted at

はじめに

laradockでの環境構築でかなり時間がかかり苦労しました。
自分と同じような境遇の方の一助となれば幸いです。
また何か間違っていましたらコメント頂けるとありがたいです。

前提

・MacOSを使用していること
・laradock for Mac がインストールされていること
・git が使えること

ポイント

①MySQL5.7へダウングレードすること
②MySQLを再ビルドする場合は
①image ②volume ③laradock内の.envの3つを変更すること
(②の内容は作業中)

laradockをクローンする

mkdir [ディレクトリ名] でファイル作成 cd [ディレクトリ名]で、移動。
今回はlaravel_appという名前にします。

$ mkdir laravel_app 
$ cd laravel_app

laravel_app内にgit cloneする

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

laradockディレクトリが確認できたらcdで移動

$ cd laradock

.envファイルの作成・編集

.envファイルを作成する

$ cp env-example .env

▼ポイント

MySQLのバージョンを指定する。

何やらmysqlのバージョンが8.0以上になっていると
セキュリティの関係でDockerがうまく動作しないらしい。

vim .envで先ほど作成したlaradock/.envのmysqlの記載を変更する

laradock/.env
MYSQL_VERSION=5.7 

ついでにもうひとつ。
後でインストールするlaravelの名前(なんでもいい)も設定しておく。
ここではlaravel-practiceにします。

laradock/.env
APP_CODE_PATH_HOST=../laravel-practice/

コンテナの作成

docker-compose up -d nginx mysql phpmyadminでコンテナを作成する

※Dockerのアプリが立ち上がっていないとエラーになります!!
エラー(Couldn't connect to Docker daemon)

$ docker-compose up -d nginx mysql phpmyadmin
Recreating laradock_docker-in-docker_1 ... done
Recreating laradock_mysql_1            ... done
Recreating laradock_phpmyadmin_1       ... done
Recreating laradock_workspace_1        ... done
Recreating laradock_php-fpm_1          ... done
Recreating laradock_nginx_1            ... done

docker psコマンド、もしくはdocker container lsコマンドで
コンテナが立ち上がっているか確認

statusがupになっていれば無事に起動している

$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                      NAMES
a4204c06f872        laradock_phpmyadmin   "/docker-entrypoint.…"   5 minutes ago         Up 22 seconds       0.0.0.0:8080->80/tcp                       laradock_phpmyadmin_1
ba7a3de12bb8        laradock_mysql        "docker-entrypoint.s…"   5 minutes ago         Up 26 seconds       0.0.0.0:3306->3306/tcp                     laradock_mysql_1
e18f799feb80        laradock_nginx        "/bin/bash /opt/star…"   5 minutes ago         Up 25 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   laradock_nginx_1
3cfac25ab736        laradock_php-fpm      "docker-php-entrypoi…"   5 minutes ago         Up 25 minutes       9000/tcp                                   laradock_php-fpm_1
0fce26e9732d        laradock_workspace    "/sbin/my_init"          5 minutes ago         Up 25 minutes       0.0.0.0:2222->22/tcp                       laradock_workspace_1
5acb64003410        docker:dind           "dockerd-entrypoint.…"   5 minutes ago         Up 25 minutes       2375-2376/tcp                              laradock_docker-in-docker_1

先ほど起動していることを確認したコンテナlaradock_workspaceにアクセスし
Laravelプロジェクトを立ち上げる

※rootで入ると後々警告が出るので --user=laradockで入ったほうがいい。
(--user=laradock書かなくても実行はされます)

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

@の前がlaradockかrootになっていれば成功。
いよいよlaravelをインストール。

laravel-practiceの部分はお好きな名前で大丈夫。
(最初に.envのAPP_CODE_PATH_HOSTに書いた名前)

$ root@f13fff2dfc34:/var/www# composer create-project laravel/laravel laravel-practice

lsでlaravel-practiceがあれば、インストール成功。

$ root@f13fff2dfc34:/var/www# ls
laradock  laravel-practice

laravel-practiceの.envを編集。
一度exitで出て、laravel-practiceに移動する。

laravel-practice内の.envファイルを修正。

laravel-practice/.env
$ DB_CONNECTION=mysql
DB_HOST=mysql //変更
DB_PORT=3306
DB_DATABASE=default //変更
DB_USERNAME=default //変更
DB_PASSWORD=secret //変更

できたらDockerの再起動を行う。

$ docker-compose up -d nginx mysql phpmyadmin
Recreating laradock_docker-in-docker_1 ... done
Recreating laradock_mysql_1            ... done
Recreating laradock_phpmyadmin_1       ... done
Recreating laradock_workspace_1        ... done
Recreating laradock_php-fpm_1          ... done
Recreating laradock_nginx_1            ... done

http://localhost/ )でlaravelのページが表示されれば成功。

最後にマイグレーションできるか確認。

$ $docker-compose exec workspace /bin/bash

で再度workspaceに入る。
php artisan migrateでマイグレート

root@64aa8ef8bf14:/var/www# php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.13 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.09 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (0.05 seconds)

お疲れ様でした。

3
6
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
3
6