Merge pull request #155 from hinaloe/feature/webpack-docker

Dockerにnodeを追加する
This commit is contained in:
shibafu 2019-03-16 09:51:11 +09:00 committed by GitHub
commit ea2db88de3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 2 deletions

View File

@ -1,3 +1,5 @@
FROM node:10-jessie as node
FROM php:7.1-apache
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
@ -15,6 +17,16 @@ RUN apt-get update \
COPY dist/bin /usr/local/bin/
COPY dist/php.d /usr/local/etc/php/php.d/
COPY --from=node /usr/local/bin/node /usr/local/bin/
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /opt/yarn-* /opt/yarn
RUN ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
&& ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
&& ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
ENTRYPOINT ["tissue-entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@ -33,10 +33,11 @@ docker-compose build
docker-compose up -d
```
4. Composer を使い必要なライブラリをインストールします。
4. Composer と yarn を使い必要なライブラリをインストールします。
```
docker-compose exec web composer install
docker-compose exec web yarn install
```
5. 暗号化キーの作成と、データベースのマイグレーションを行います。
@ -52,7 +53,14 @@ docker-compose exec web php artisan migrate
docker-compose exec web chown -R www-data /var/www/html
```
7. 最後に `.env` を読み込み直すために起動し直します。
7. アセットをビルドします。
```
docker-compose exec web yarn dev
```
8. 最後に `.env` を読み込み直すために起動し直します。
```
docker-compose up -d
@ -68,6 +76,16 @@ docker-compose -f docker-compose.yml -f docker-compose.debug.yml up -d
で起動することにより、DB のポート`5432`を開放してホストマシンから接続できるようになります。
## アセットのリアルタイムビルド
`yarn watch`を使うとソースファイルを監視して差分があると差分ビルドしてくれます。フロント開発時は活用しましょう。
```
docker-compose run --rm web yarn watch
```
もしファイル変更時に更新されない場合は`yarn watch-poll`を試してみてください。
現在Docker環境でのHMRはサポートしてません。Docker外ならおそらく動くでしょう。
その他詳しくはlaravel-mixのドキュメントなどを当たってください。
## 環境構築上の諸注意
- 初版時点では、DB サーバとして PostgreSQL を使うよう .env ファイルを設定するくらいです。