2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laradockで開発環境構築の手順(初心者)

Last updated at Posted at 2018-12-02

Laradockの導入手順

参照サイト一覧:
https://tadaken3.hatenablog.jp/entry/laradock-laravel
https://github.com/laradock/laradock/issues/251

1. 導入手順まとめ

1. 自分のプロジェクトを作成する
mkdir yourProject
現在のディレクトリ構成は以下のようになる。
development
┗ yourProject

2. プロジェクト内に移動する
cd yourProject
上記に続いて、Laradockをインストールする。
git clone https://github.com/LaraDock/laradock.git
現在のディレクトリ構成は以下のようになる。
development
┗ yourProject
 ┗ laradock

3. Laradock内に移動する
cd laradock
上記に続いて、env-exampleというファイルを.envという名前でコピーする。
cp env-example .env

4. .envファイルの内容を修正する
自分の開発環境にあった設定を施してやる必要があるので、ファイルの内容の書き換えを行う。

  • 個人的にこの辺りから躓き始めた。(ほんとこの辺が苦手...)
    (sudo) vi .env <- このコマンドで.envファイルの変更を行う。
    (sudo = 他のユーザ権限でコマンドを実行するときに使う)
    開発環境の構築をするのでルートディレクトリではなく以下のように変更を行う。
- DATA_PATH_HOST=~/.laradock/data
+ DATA_PATH_HOST=.laradock/data```

<strong>5. MySQLの設定を変更</strong>
まずは、MySQLのバージョンを確認する。
```mysql --version```
確認が終わったら、.envファイルの以下の部分を変更します。

MYSQL

MYSQL_VERSION=8.0.12(初期設定は、latest)
MYSQL_DATABASE=mydb(接続したいDB名を記載)
MYSQL_USER=root
MYSQL_PASSWORD=PASSWORD(MySQLに接続する際のパスワード)
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d


<strong>5. Docker コンテナを起動する</strong>
ここのエラーでもっとも時間を割いてしまった。
```docker-compose up -d nginx mysql phpmyadmin```
上記のコマンドを叩いて問題がなければ次へ(6. 接続状態の確認)!!!
自分の場合は以下のようなエラーが出ていました。(原因は特定できておらず定かではないです)

laradock_docker-in-docker_1 is up-to-date
Starting laradock_mysql_1 ...
laradock_workspace_1 is up-to-date
laradock_php-fpm_1 is up-to-date
Starting laradock_nginx_1_df13abf0034c ... error

Starting laradock_mysql_1 ... done
c31e7511cefa04a840e9e): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)

ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1_df13abf0034c (ae021353106c09b15fddecaad8ed9d342abb355593fc31e7511cefa04a840e9e): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.

このようなエラーが出た場合の対応策(他ケースでも応用できます)としては、
```docker-compose ps```
上記のコマンドを叩いて、コンテナ内で立ち上がっているもののStatusを確認します。
```laradock_nginx_1_df13abf0034c        nginx                            Exit 128```
自分の場合は、この部分がエラーを引き起こしている箇所だったので、nginx Exit 128 でググりました。
この場合、80番ポートを覗いてやる必要があります。
```sudo lsof -i :80```
詳しくはまだ調べきれていませんが、httpd関係の接続が邪魔をしていたみたいです。
ここで思ったこと、「げっ!めっちゃ色々動いとる!こりゃ立ち上がらんわけだ。」なので、
```sudo killall httpd``` <- 一旦、全部ストップしちゃう。

sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist

上記のコマンドの意味は正直まだわかっていませんが、これで自分は動くようになりました。
再度、
```docker-compose up -d mysql nginx```
動いたー!!!

<strong>6. 接続状態の確認</strong>
http://localhost
上記に接続してみると、
<img width="312" alt="20180629230557.png" src="https://qiita-image-store.s3.amazonaws.com/0/321807/4680b669-3fe7-c0d2-e33e-f37f9b3acc1f.png">
このような画面が表示されると思いますが、ここにLarvelがインストールされることになります。
http://localhost:8080
上記に接続してみると、phpMyAdminツールの画面が表示されます。さきほど、.envで設定したユーザー名でログインできるか確認しておきましょう。
<img width="500" alt="20180629230520.png" src="https://qiita-image-store.s3.amazonaws.com/0/321807/393d898c-9157-1b8b-3979-20913d579e41.png">

また、sshでコンテナに接続できるコマンドは以下の通りです。

docker-compose exec workspace bash


sshで接続後、プロジェクトの作成をします。

composer create-project laravel/laravel


終了!お疲れ様でーす!
2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?