コンテンツへスキップ
まとめ
- 起動時の環境変数
POSTGRES_INITDB_ARGS
で設定することで、ロケールをなし (C) に設定可能
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --locale=C
POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=C"
<= 注意。コッチっは試していない。
- ちなみに、 docker run の場合は
docker run --rm -it -e POSTGRES_PASSWORD=secret -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --locale=C" postgres:12.2 bash
といった書式になる。
まとめ
- Laravel のコードを Docker コンテナにコピーする。
- Docker のログへ Laravel のログを出力するようにする。
- Docker コンテナ起動時の環境変数設定で、 Laravel の設定を行えるようにする。
- 依存パッケージのリストのコピーとインストール部分をそれぞれ独立させることで、キャッシュされた Docker レイヤーを使えるようにする。
- ビルドして生成したもののみをコンテナに含めるようにする。
- タイムゾーン、 PHP 、 Apache 等の Laravel 以外の設定を行う。
今回やること
- npm install で追加する依存パッケージを、 Docker ビルド時のキャッシュにする
- npm run production で生成したファイルをコンテナに含める。
注意点
- libpq-dev を事前にインストールし、それから
docker-php-ext-install pdo_pgsql
を行うこと。
まとめ
- COPY で
--chown
フラグをつけることで、コンテナ内にコピーされたファイル・ディレクトリのオーナーを指定できる。
- メリットとして、Docker ビルド時の レイヤーを 1 つ減らせる。また、
RUN chwon
した時に時間が掛かっていたが、 --chown
フラグ付きの COPY の方が時間がかからなかった。
はじめに
今回行うこと
- php.ini の date.timezone 等の設定