Docker Apline LinuxのTimezoneをJSTに変更する
alpine linuxtベースのnodejs用Dockerコンテナを使っていて、タイムゾーンをJSTに変更したかったので以下を追加した。
FROM node:12.14-alpine
# timezone setting
RUN apk --no-cache add tzdata && \
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
apk del tzdata
# ...
が、コンテナにアクセスしてdateを実行してもUTC表記のままになってしまう現象に遭遇。
調べてみたら[[docker-compose.yml]]に環境変数でTZを指定していたのが原因だった。
TZが設定されてされていると/etc/localtimeが参照されないとのことらしい。
version: "3"
services:
app:
build: .
environment:
TZ: Asia/Tokyo
今回はJSTに固定したかったので、docker-compose.ymlからTZ環境変数を削除することで解決した。