こーたです!
初投稿ですがよろしくお願いいたします。
概要
docker-compose上に
Laravel+Nuxt.js環境
(nginx/php-fpm/Laravel/postgres/redis/nuxt.js)
を3コマンドで構築します。
- Nuxt.jsをフロントサーバー
- Laravelをapiサーバー
として使用します。
リポジトリ
ここで公開してます
エラー吐いたらissue立てて下さい(大丈夫な筈)
https://github.com/nyanko-kota/Docker-nuxt-laravel
必須環境
- Docker + docker-compose
- git (zipをダウンロードでも問題なし)
以上を事前に用意して下さい。
Let's 環境構築 !!
$ git clone https://github.com/nyanko-kota/Docker-nuxt-laravel
$ cd Docker-nuxt-laravel
$ ./setup.sh
はい、この3コマンドで終わりますw
まじで
アプリの起動
$ docker-compose up
これでアプリが起動します。
ディレクトリ構成
.
├── README.md
│
├── docker
│ ├── composer
│ │ └── Dockerfile
│ ├── nginx
│ │ ├── Dockerfile
│ │ └── default.conf
│ ├── nuxt
│ │ └── Dockerfile
│ └── php-fpm
│ ├── Dockerfile
│ └── zz-docker.conf
│
├── docker-compose.yml
│
├── laravel ←Laravelプロジェクトフォルダ
│
├── nuxt ←Nuxt.jsプロジェクトフォルダ
│
└── setup.sh
見てのとおりの構成です。
dockerフォルダの中にDockerfileが纏めてあります。
(数個は誰でもでも使用できるようにDocker Hubにpushしてあります。)
https://hub.docker.com/u/nyankokota
Webからの参照
http://localhost:3000 にアクセスすると、ユーザーページ(nuxt.js)が表示されます。
http://localhost:8000 にアクセスすると、apiサーバー(laravel)が表示されます。
http://localhost:8080 にアクセスすると、redis(redis-commander)が表示されます。
http://localhost:8081 にアクセスすると、pgweb(postgresql)が表示されます。
http://localhost:8082 にアクセスすると、mail(mailcatcher)が表示されます。
注意事項
Laravel、Nuxt.jsプロジェクトフォルダの.envファイルなどは除外設定により消えているので
ご自身での追加をお願いいたします。
LaravelとNuxt.js間との通信はaxios/jsonを想定しています。
CORS制約の回避はNginxのdefault.confにヘッダーを付与することによって解決しています。
最後に
参考になれたらと思います。
以上
Dockerを使って3コマンドで環境構築 Laravel+Nuxt.js編でした。
問題がありましたらGitHubにissue建ててくれるとありがたいです。
(未チェックなのは内緒)