0
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でLaravel環境構築自分用メモ

Posted at

前提

  • macOS High Sierra 10.13.6
  • docker for mac インストール済み

手順

1. ディレクトリを作成し移動

$ mkdir myproject
$ cd myproject

2. GitHubからLaradockをクローンし移動

myproject

$ git clone https://github.com/Laradock/laradock.git
$ cd laradock

3. サンプルの環境設定ファイルをコピー

laradock
$ cp env-example .env

4. 上でコピーした.envファイルをvi等任意のエディタで開く

laradock
$ vi .env

5. .envファイルの以下の箇所を編集する

laradock/.env
### Paths #################################################

# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../projectName/ # 任意のプロジェクト名追加

省略

### MYSQL #################################################

MYSQL_VERSION=5.7 # latestから5.7に変更
MYSQL_DATABASE=default # DB名を変えたい場合はここを変更
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

6. docker-composeコマンドで任意のコンテナを起動

laradock
$ docker-compose up -d nginx mysql phpmyadmin redis

# 初めはimageをダウンロードしてくるため、かなり時間がかかる
# 2回目以降は一瞬で起動完了する
# 最終的に以下のような表示が出たらコンテナの起動完了

Creating laradock_mysql_1            ... done
Creating laradock_redis_1            ... done
Creating laradock_docker-in-docker_1 ... done
Creating laradock_phpmyadmin_1       ... done
Creating laradock_workspace_1        ... done
Creating laradock_php-fpm_1          ... done
Creating laradock_nginx_1            ... done

# 念のため以下のコマンドで起動確認
$ docker-compose ps
           Name                          Command               State                    Ports                  
---------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up      2375/tcp                                
laradock_mysql_1              docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp, 33060/tcp       
laradock_nginx_1              /bin/bash /opt/startup.sh        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_phpmyadmin_1         /run.sh supervisord -n -j  ...   Up      0.0.0.0:8080->80/tcp, 9000/tcp          
laradock_redis_1              docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp                  
laradock_workspace_1          /sbin/my_init                    Up      0.0.0.0:2222->22/tcp       

# State が Up で起動中

6. 以下のコマンドでworkspaceコンテナに入り、Laravelをインストール

laradock
$ docker-compose exec --user=laradock workspace bash
laradock@hogehoge:/var/www$ 
# rootで入るとcomposerの実行時に怒られるため、--userオプションでlaradockユーザーで入る

# 以下のコマンドでlaravelプロジェクト作成 projectNameは手順5.で指定した名前を使用する。
laradock@hogehoge:/var/www$ composer create-project laravel/laravel projectName

# インストールが完了するまで待つ、10〜15分程度?

7. コンテナ内のLaravelの環境設定ファイルを編集

laradock
# 初めにデフォルトで用意されている設定ファイルをコピー
laradock@hogehoge:/var/www$ cp .env.example .env

# コピーした設定ファイルをvi等任意のエディタで開く
laradock@hogehoge:/var/www$ vi .env

.env
# 省略

# 以下の箇所を修正する。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 # mysqlに変更 laradockが名前解決してくれる
DB_PORT=3306
DB_DATABASE=homestead # defaultに変更
DB_USERNAME=homestead # defaultに変更
DB_PASSWORD=secret

# 省略

REDIS_HOST=127.0.0.1 # redisに変更 laradockが名前解決してくれる
REDIS_PASSWORD=null
REDIS_PORT=6379

8. コンテナの再起動

laradock
# コンテナから抜ける
laradock@hogehoge:/var/www$ exit

# コンテナの停止と起動
$ docker-compose stop
$ docker-compose up -d nginx mysql phpmyadmin redis

9. 完了

localhostにアクセスしてLaravelの画面が表示されたらOK。スクリーンショット 2019-04-02 17.07.30.png

phpMyAdminはlocalhost:8080⇦こちら。
スクリーンショット 2019-04-02 17.08.57.png

備忘

Laradockは環境変数ファイルにバージョン情報やコンテナに必要な情報をまとめているため、
基本的にdocker-compose.ymlをいじる必要がない。

0
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
0
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?