laravelの導入のやりかた
■laravelインストール方法
-laradockを利用した環境構築を今回はやっていきたいと思う。
laradockとは?
Docker(OSを分離しコンテナを複数管理するもの、つまりmacのようなパソコンが複数できるようなイメージかな?)という仮想環境上で動作するもの。
他にVirtualboxとかVagrantとか色々ありますが一旦laradockだけ覚えて帰りましょう。
まずインストールに必要なDockerとgitのインストールをやります。
1. 作業するディレクトリを作成する。
code:console
mkdir projectname
cd projectname
git init
「mkdir」というのは新しいディレクトリを作るコマンド。
この場合、projectnameというディレクトリを作るのでこんな感じになってる。
「cd」でその新しく作った場所に移動し、「git init」で実行。
2. 作成したディレクトリにlaradockをcloneでDLしましょう。
code:console
「git submodule」で外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組み。
3. 次にlaradockの設定ファイルを書き換え。 DLしてきたlaradockの階層に移動し、設定ファイルを用意します。
code:console
$ cd laradock
$ cp env-example .env
https://gyazo.com/f9aee0115939b9b82181a770cb63bc2f
これですね。
laradockに移動してlaradockディレクトリの中にあるenv-exampleファイルをコピー(cp env-example)して作成します。
その次に設定ファイル(.env)のAPP_CODE_PATH_HOSTの部分を書き換えます。
code:env-example
- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../src
これで「projectname/src/」の下の階層がアプリケーションのコードを格納するディレクトリとみなされるようになります。
それでは、実際にworkspaceを立ち上げてみましょう。
/projectname/laradock
code:/projectname/laradock
$ docker-compose up -d workspace nginx
これでコンテナの初期化が行われます、docker-compose upで必要なファイルをダウンロードし、コンテナを利用可能な状況にする。
それによってコンテナを利用できる状況になり、nginxなどコンテナの動作に必要なファイルのダウンロード、設定が実行される。実際に起動できているか、下のコマンドで確かめてみよう。
code:/projectname/laradock
$ 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のアプリケーションを作ります。
code:/projectname/laradock
$ docker-compose exec workspace bash
# composer create-project laravel/laravel . --prefer-dist
# exit
ちなみにこれがコンテナの停止のコマンド
code:console
docker-compose stop
うまくいけば「projectname/src/」の下の階層にアプリケーションのコードが生成され、Laravelが動いている状態になります。
初期画面を確認してみましょう。
https://gyazo.com/82db1e0dd1fc7f22e3331deb32bc1a15
勝ち。
【よく出た困ったエラー】
project .. is not empty
https://gyazo.com/d0e32baac30f77c7ee5461583717b3e0
確かにlsで確かめると中身ががっつりあったんじゃが「何度か」rm -rで中身を消してみたらエラーが消えた。一回じゃ消えなかった。
Error response from daemon: Bad response from Docker engine
dockerが動かない..再起動しても直らない。詰んだ。その解決法としてパソコンの上の部分のdocker起動してるよマークをクリック。
https://gyazo.com/058d990bbdf26559a73e19079bae6f0f
そこからprefererenceをクリック。
https://gyazo.com/fb4040558a23dcbf54006cf7a4b27549
Reset to factory defaultsクリック。
https://gyazo.com/b4853530f82133c2c91acb134545083a
https://gyazo.com/405451db0d671b73a010ea5b9aea780f
そこからリセットすればなんとかなりました。ググるの大事。
https://gyazo.com/e41fc7e004d7477e1fd1a88055239ebe
↑の部分が黄色から緑になればOKらしいですね。
【quiitaでちょっと分かりやすく書き直しました】