Laradock v5で開発環境を構築してみた
お久しぶりです。
1週間ぶりの投稿です。
今回は、Laravel ✗ Dockerを実現したLaradockで開発環境を構築しました。
最新バージョンのLaradock v5(20180809時点)は、v4と若干設定ファイルの中身が違うようなので、紹介したいと思います。
前提条件
1. Gitコマンドがインストールされている。
2. Dockerがインストールされている。
3. composerがインストールされている。
4. 80番ポートが未使用である。
手順
1. 作業ディレクトリを作成する。
$ mkdir [dir_name] $ cd [dir_name]
2. Laravelのプロジェクトを作成する。
$ composer create-project --prefer-dist laravel/laravel [app_name]
3. Laradockをクローンする。
$ git clone https://github.com/Laradock/laradock.git
$ cd laradock
4. 設定ファイルをコピーする。
$ cp env-example .env
5. 設定ファイルを編集する。
$ vim .env # 8行目: アプリのパス 変更前: APP_CODE_PATH_HOST=../ 変更後: APP_CODE_PATH_HOST=../[app_name] # 181行目: MySQLのDB名を変更 変更前: MYSQL_DATABASE=defulat 変更後: MYSQL_DATABASE=[app_name]
6. Nginxの設定ファイルを変更する。
この時、Chromeではxxx.devにすると、強制的にリダイレクトするようなので、その他のものにしましょう!
$ vim nginx/sites/default.conf # 6行目: バーチャルホストを設定 変更前: server_name localhost 変更後: server_name [app_name].io
7. MySQLのファイルを変更する。
$ vim mysql/my.cnf # [mysqld]の最終行に追加 default_authentication_plugin = mysql_native_password
$ vim mysql/docker-entrypoint-initdb.d/createdb.sql.example # 以下のように修正 CREATE USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; GRANT ALL PRIVILEGES ON [app_name].* TO 'root'@'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON [app_name].* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
8. ホストの設定ファイルを変更する。
# Macの場合 $ sudo vim /etc/hosts # 最終行に追加 127.0.0.1 [app_name].io
9. Dockerを起動する。
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
10. http://[app_name].io/にアクセスする。
11. データベースを作成する。
$ docker-compose exec workspace bash $ php artisan migrate $ exit
12. phpMyAdmin(http://[app_name].io:8080/)からデータベースにログインできることを確認する。
- サーバ: mysql
- ユーザ名: root
- パスワード: root
まとめ
簡単すぎる!!!!!