#
ドキュメント

Document

自分のための備忘録です。

Ubuntu Timezone

タイムゾーンを確認

$ 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

Asia/Tokyo に変更

$ sudo timedatectl set-timezone Asia/Tokyo

Docker

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 をインストールする必要がある。