$ sudo timedatectl
Local time: Sat 2023-09-02 00:46:02 UTC
Universal time: Sat 2023-09-02 00:46:02 UTC
RTC time: Sat 2023-09-02 00:46:02
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
※1 /etc/timezone は以下のとおり
Etc/UTC
※2 date の出力
$ date
Sat Sep 2 00:51:47 UTC 2023
$ sudo timedatectl set-timezone Asia/Tokyo
Docker はタイムゾーンが指定されていないと、パッケージ(例 php, apache2)のインストール時にタイムゾーンを選択する必要がある。 上記を避けるためにパッケージをインストールする前にタイムゾーンの設定をする。
ただし公式で配布されている Ubuntu はtimedatectl がインストールされていない[^1]。 よって Dockerfile で以下を設定する。
ENV TZ="Asia/Tokyo"
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
[^1]: timedatectl は systemd をインストールする必要がある。