10
5

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 3 years have passed since last update.

DockerでLaravel開発環境構築(Mac)

Last updated at Posted at 2020-11-08

#■構成
docker-laravel
├ docker-compose.yml
├ docker
│  ├ php
│  │  ├ php.ini
│  │  └ Dockerfile
│  └ nginx
│    └ default.conf
└ server

#■手順
##1.Dockerのデスクトップアプリをダウンロード
公式サイトより手順に従いダウンロード(簡単です)
https://www.docker.com/products/docker-desktop

##2.Docker.appを起動

terminal
open /Applications/Docker.app

##3.ディレクトリ作成
docker-laravelという作業用フォルダ(名称は任意)をデスクトップに用意し、
その中に上記構成でフォルダ、ファイルを配置します。
※面倒であれば以下より、git cloneを。
https://github.com/masayan1126/docker-laravel

##4.主要ファイル
詳細は割愛します(githubを参照ください。)
・docker-compose.yml
・Dockerfile
・php.ini
・default.conf(nginx設定ファイル)

##5.Dockerを起動してlaravelプロジェクトを作成
・dockerを起動(少し時間かかります)

docker-compose.ymlがあるディレクトリで実行

$ docker-compose up -d

・phpコンテナに入る

$ docker-compose exec php bash

・Laravelプロジェクト作成

・下記コマンド後にserverディレクトリ以下にLaravelプロジェクトが構築される。

root@ae5eec7aea3c:/var/www#
$ composer create-project laravel/laravel docker-laravel-app(プロジェクト名)

・localhostへアクセスし、laravelのトップ画面を確認できれば成功。

スクリーンショット 2020-11-08 16.20.51.png

##6.ついでにmysqlも
・mysqlコンテナに入り、ログインできれば接続完了。

terminal
$ docker exec -it db-host-practice bash
terminal
mysql -u docker -p
Enter password: パスワード

・.envファイルを修正(docker-compose.ymlの内容に合わせる)

.env
DB_CONNECTION=mysql
DB_HOST=db-host-practice
DB_PORT=3306
DB_DATABASE=[docker-composeで定義したデータベース名]
DB_USERNAME=[docker-composeで定義したユーザ名]
DB_PASSWORD=[docker-composeで定義したパスワード名]

・マイグレーション

root@4ef799d9efc8:/var/www/docker-laravel-app#
php artisan migrate

※うまくいかなければ、以下を試す。
・php artisan cache:clear

10
5
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
10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?