Help us understand the problem. What is going on with this article?

【初心者向け】laravelの導入方法(laradockでやってみる)

More than 1 year has passed since last update.

こんにちは大塚です。ちょっと色々あってlaravelをやらなきゃいけなかったんで記事でアウトプットできればな、と思いまして。初心者なので同じ初心者の方に読んでもらえるようにできるだけ分かりやすく書きました。今回はlaravelインストールをlaradockを利用してやっていきたいと思います。
(この表現違うよ!とかありましたら教えてください..!)

laradockとは?

Docker(OSを分離しコンテナを複数管理するもの、つまりmacのようなパソコンが複数できるようなイメージかな?)という仮想環境上で動作するものです。今回はlaradockを使ってlaravelを導入します。
他にVirtualboxとかVagrantとか色々ありますが一旦laradockだけ覚えて帰りましょう。こんがらがっちゃう。

1. 作業するディレクトリを作成する。

mkdir projectname
 cd projectname
 git init

「mkdir」というのは新しいディレクトリを作るコマンド。
この場合、projectnameというディレクトリを作るのでmkdir projectnameとなっています。
「cd」でその新しく作った場所に移動し、「git init」で実行します。

2. laradockをcloneする

git submodule add https://github.com/Laradock/laradock.git

「git submodule」で外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録します。
(リポジトリとはファイルやディレクトリの状態を記録する場所のこと、ディレクトリはパソコンにあるフォルダのことで、サブがつくと特定のファイルの下の階層にあるフォルダのことを表しています。
この場合laradockの中のlaradock.gitをクローンするのでサブディレクトリとなっています)

ちなみにgit cloneでも大丈夫そう。

3.laradockの階層に移動、設定ファイルの作成、書き換え

 $ cd laradock
 $ cp env-example .env

これですね。

スクリーンショット 2019-03-04 16.22.03.png

laradockに移動(cd laradock)してlaradockディレクトリの中にあるenv-exampleファイルをコピー(cp env-example)して作成します。

その次に設定ファイル(.env)のAPP_CODE_PATH_HOSTの部分を書き換えます。

 - APP_CODE_PATH_HOST=../
 + APP_CODE_PATH_HOST=../src

APP_CODE_PATH_HOST=../の部分にsrcをつけて保存してみてください。
これで「projectname/src/」の下の階層がアプリケーションのコードを格納するディレクトリとみなされるようになります。
それでは、実際にworkspaceを立ち上げてみましょう。

コンテナの初期化

 $ docker-compose up -d workspace nginx

これでコンテナの初期化が行われます、docker-compose upで必要なファイルをダウンロードし、コンテナを利用可能な状況にします。
それによってコンテナを利用できる状況になり、nginxなどコンテナの動作に必要なファイルのダウンロード、設定が実行されます。実際に起動できているか、下のコマンドで確かめてみましょう!

 $ docker-compose ps

Name                          Command              State                     Ports
---------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Up       2375/tcp
laradock_nginx_1              nginx                           Up       0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Up       9000/tcp
laradock_workspace_1          /sbin/my_init                   Up       0.0.0.0:2222->22/tcp

上記のようなコンテナ稼働状態になっていれば、ここまでうまくいっています。やったー!神ー!

さらに、workspaceコンテナの中にLaravelのアプリケーションを作ります。

 $ docker-compose exec workspace bash /コンテナにいく/
 # composer create-project laravel/laravel . --prefer-dist /コンテナに入って新規プロジェクトを作成/
 # exit /コンテナからログアウト/

ちなみにこれがコンテナの停止のコマンド

 docker-compose stop

うまくいけば「projectname/src/」の下の階層にアプリケーションのコードが生成され、Laravelが動いている状態になります。
初期画面を確認してみましょう。
Windowsであれば「http://192.168.99.100」にアクセス
Macであれば「http://localhost」にアクセス
→うまくいかないようでしたら「http://127.0.0.1」にアクセスしてみてください!

スクリーンショット 2019-03-04 16.48.58.png

勝ち。

よく出る困ったエラー

  • project .. is not empty

スクリーンショット 2019-03-04 2.08.12.png

確かにlsで確かめると中身ががっつりあったんじゃが「何度か」rm -rで中身を消してみたらエラーが消えた。一回じゃ消えなかった。

  • Error response from daemon: Bad response from Docker engine

dockerが動かない..再起動しても直らない。詰んだ。その解決法としてパソコンの上の部分のdocker起動してるよマークをクリック。

スクリーンショット 2019-03-04 16.52.32.png

(ちっちゃくてすみません)

そこからprefererenceをクリック。

スクリーンショット 2019-03-04 16.51.16.png

Reset to factory defaultsクリック。

スクリーンショット 2019-03-04 16.50.58.png

スクリーンショット 2019-03-04 16.51.09.png

そこからリセットすればなんとかなりました。ググるの大事。

↑のDocker Engine is runningの部分が黄色から緑になればOKらしいです。

以上!

sakura11453_223
ライターが主だけどフロントエンド(Vue.js,js)、デザインの勉強している人。エンジニアさんとかデザイナーさんの気持ちが文章で代弁出来るようにqiitaでアウトプットを頑張っている。2020卒。必要があればlaravelとかやってる。 https://www.wantedly.com/users/18304471
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away