はじめに(開発環境構築)
こちらの神リポジトリをcloneし、利用しようとしたときに、
TimeZoneがUTCだったため、日本時間に修正した際の備忘録となります。
下記構成内のDockerfileを修正します。
コンテナを立ち上げたことがあるものに対して実施する際には、
コンテナ停止時にDockerfileを修正し、再ビルドを実施してください。
ディレクトリ構成
├── backend # Laravelプロジェクトのルートディレクトリ
├── infra
│ └── docker
│ ├── mysql
│ │ ├── Dockerfile
│ │ └── my.cnf
│ ├── nginx
│ │ ├── Dockerfile
│ │ └── default.conf
│ └── php
│ ├── Dockerfile
│ ├── php-fpm.d
│ │ └── zzz-www.conf => unixドメインソケットの設定ファイル
│ └── php.ini
├── Makefile
└── docker-compose.yml
mysql
修正箇所
docker-laravel\infra\docker\mysql\Dockerfile
# ENV TZを変更する(4行目付近)
# ENV TZ=UTC \
ENV TZ=Asia/Tokyo \
確認方法
build、コンテナ立ち上げ(up)が完了後、の作業になります。
shell
$ make db
# $ docker-compose exec db bash (上記makeコマンドの内容)
root@XXXXXXX:# mysql -u root -p -h 127.0.0.1
Enter password: secret
# Dockerfileに記載されている8行目付近のPWを記入してください。
# MYSQL_ROOT_PASSWORD=secret
#  ̄ ̄ ̄ ̄
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | JST |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.01 sec)
system_time_zoneにJSTが表示されれば問題ありません。
nginx
修正箇所
docker-laravel\infra\docker\nginx\Dockerfile
# ENV TZを変更する(6行目付近)
# ENV TZ=UTC
ENV TZ=Asia/Tokyo
確認方法
build、コンテナ立ち上げ(up)が完了後、の作業になります。
shell
$ make web
# $ docker-compose exec web ash (上記makeコマンドの内容)
/work/backend# date
現在時間が表示されれば問題ありません。
php
修正箇所
docker-laravel\infra\docker\php\Dockerfile
# timezone environmentを変更する(5行目付近)
# ENV TZ=UTC \
# locale
# LANG=en_US.UTF-8 \
# LANGUAGE=en_US:en \
# LC_ALL=en_US.UTF-8 \
ENV TZ=Asia/Tokyo \
# locale
LANG=ja_JP.UTF-8 \
LANGUAGE=ja_JP:ja \
LC_ALL=ja_JP.UTF-8 \
docker-laravel\infra\docker\php\Dockerfile
# localの設定を変更(36行目付近)
# locale-gen en_US.UTF-8 && \
# localedef -f UTF-8 -i en_US en_US.UTF-8 && \
locale-gen ja_JP.UTF-8 && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 && \
確認方法
build、コンテナ立ち上げ(up)が完了後、の作業になります。
shell
$ make app
# $ docker-compose exec app bash (上記makeコマンドの内容)
root@XXXXXXX:/work/backend# php -r 'echo date("Y/m/d H:i:s"),PHP_EOL;'
現在時間が表示されれば問題ありません。
最後に
以上で対応完了となります。
誰かの一助になれば幸いです。
誤りやもっと良い改修方法があればコメントにてご教示いただけますと幸いです。
よろしくお願いいたします。