Laravelのdocker環境構築。laradockでざっくりと。
laradockを使ったlaravelの環境構築についてざっくり流れをまとめました。
docker自体初めてだったので備忘録としてメモっときます。
前提
・dockerがインストールされていること
・gitができる環境であること
➀作業ディレクトリ内にlaradockをクローン
$ mkdir project
$ cd project
$ git clone https://github.com/Laradock/laradock.git
ここでは作業ディレクトリはproject。
laradockはgitのクローンによって取り込みます。
こんな感じでlaradockのディレクトリができると思います。
➁設定ファイル.envを作成
laradockでは各コンテナの環境変数の設定は.envファイルに定義します。これらはdocker-compose.ymlファイルに適用します。
laradock内のenv-exampleをコピーして.env作成します。
$ cd laradock
$ cp env-example .env
➂.envを編集する
mysqlの設定
mysqlのバージョンはデフォルトではlatestとなっており、そのままだと8.0系のバージョンとなるので5.7に変更しておきましょう。
なぜかというと8.0では認証などの改変があり、ログインできないなど問題が生じます。特にphpmyadminを使いたい場合は5.7にしておきましょう。
自分はここでつまずいて、めちゃくちゃ時間がとられました。
ユーザ名、パスワード等も変更します。
MYSQL_VERSION=latest → MYSQL_VERSION=5.7
MYSQL_USER=default → MYSQL_USER=root
MYSQL_PASSWORD=latest → MYSQL_PASSWORD=root
➄コンテナの構築、起動
mysql、nginx、phpmyadminのコンテナを起動します。
workspaceなどのコンテナはnginxと依存関係にあるため、指定しなくても伴って立ち上がります。
$ docker-compose up -d nginx mysql phpmyadmin
docker-composeは複数のコンテナをまとめて管理する仕組みです。
docker-compose upのコマンドはdocker-compose.ymlに書いてある複数のコンテナの構築と起動を行うことができます。
➅laravelのプロジェクトの作成
laravelのインストールにはcomposerやnodeなどのツールが用意されているworkspaceコンテナで行います。
まずはコンテナ内に入ります。
$ docker-compose exec workspace bash
execはコンテナのサービスを実行するためのコマンド。コンテナ内に入るにはbashをつけます。
composerでlaravelのプロジェクトを作成します。
$ composer create-project --prefer-dist laravel/laravel myapp
作業ディレクトリ内にlaravelのプロジェクトができたと思います。
laravel側のDB設定もしておきます。
laravel内の.envファイルとconfig/database.phpの項目を変更します。
ユーザ名:root
パスワード:root
ホスト名:mysql
DB名:default
➆laravelの場所を指定
.envのAPP_CODE_PATH_HOSTの項目を見てみるとデフォルトでは
作業ディレクトリが指定されています。
これをAPP_CODE_PATH_HOST=../myapp/に修正します。
➇マイグレーション
再びworkspaceコンテナに入りマイグレーションを行います。
$ php artisan migrate
➈ブラウザからアクセス
ブラウザからhttp://localhostにアクセスしてlaravelのホームページが表示されれば成功。
➉phpmyadminにアクセス
http://localhost:8080にアクセスします。
サーバ:mysql
ユーザ名:root
パスワード:root
これらを入力してログインできればOK。
テーブルが作成されているか確認しましょう。
最後に
laradockでの環境構築はとても簡単で、とりあえずdockerでlaravelを立ち上げてみたい人には合ってると思います。でもプロジェクトが必要以上に大きくなること、またdockerに対する知識がなくてもできてしまうように感じられます。
もう少しdockerについて理解を深めるためにはlaradockを使わない方法もやってみるといいと思います。
そちらの方法の記事も書きましたので良ければどうぞ→https://qiita.com/rope19181/items/10da72374839630af83b
Author And Source
この問題について(Laravelのdocker環境構築。laradockでざっくりと。), 我々は、より多くの情報をここで見つけました https://qiita.com/rope19181/items/da31dc2cd6097315fa10著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .