Alpine Linuxで時刻をJSTに設定する(Dockerfile)
公式の手順があるのでそれを参考にした。
Setting the timezone - Alpine Linux
Dockerfileには以下のように記述した。
FROM alpine:latest RUN apk --no-cache add tzdata && \ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \ apk del tzdata
公式の手順に従って/etc/timezone
を設定するとGMTになってしまったので、それは設定しないようにした。
作ったイメージでdateを実行して確認する。
$ docker build -t jst-alpine . (snip) $ docker run --rm jst-alpine date Tue Aug 28 23:07:21 JST 2018 $ docker run --rm alpine date Tue Aug 28 14:07:31 UTC 2018
上手くいった。JSTと表示されている。
というか、そもそもアプリケーション側でlocaltimeがJSTだってのを前提にするのが良くない気がする(今までそうしてたけど)。今度検証してみよう。