Docker の Debian イメージでタイムゾーンを変更する

経緯

dovecot/dovecot が Debian イメージがベースなので、 Docker の Debian イメージでタイムゾーンを変更したいと考えました。

構成

構成は以下。

Dockerfile

# Debian image
FROM dovecot/dovecot
# import rpm sigunature & dnf install
RUN apt-get -y update \
    && apt-get -y install less \
    vim
# volume directory
RUN mkdir /var/log/dovecot

docker-compose.yml

version: '3.8'
services:
  dovecot:
    build:
      context: ./dovecot/docker
      dockerfile: Dockerfile
    ports:
      - "$DOVE_HOST_PORTNUM:$DOVE_CONTAINER_PORTNUM"
      - "$DOVE_HOST_PORTSSL:$DOVE_CONTAINER_PORTSSL"

状態

このときの状態は以下。

# date
WWW MMM dd hh:ii:ss UTC yyyy

UTC 表記になっていますね。日本なので9時間マイナスの時間になっています。

対処

version: '3.8'
services:
  dovecot:
    environment:
      - TZ=Asia/Tokyo
    build:
      context: ./dovecot/docker
      dockerfile: Dockerfile

environmentTZ=Asia/Tokyo を追加。これだけです。

# date
WWW MMM dd hh:ii:ss JST yyyy

JST 表記になって、時差がなくなったことを確認。OKです。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。