今回は、Debian系Dockerコンテナのタイムゾーンを設定するメモとなります。
環境
- macOS:Big Sur 11.5.2
- Docker:20.10.12
- Docker Desktop:4.5.0 (74594)
- docker-compose:1.29.2, build 5becea4c
- イメージ:3.12.0-bookworm、3.12.0-slim-bookworm
Dockerコマンド TZ指定
docker run時に -eオプション TZ=タイムゾーン指定を行うことができます。
docker run -it -e TZ=Asia/Tokyo debian date
docker-compose.yml 環境変数 TZ 指定
docker-compose.ymlで、環境変数にタイムゾーン指定する方法です。
version: "3.9"
services:
app:
build: .
ports:
- "5000:5000"
environment:
TZ: Asia/Tokyo
Dockerfile タイムゾーンファイル変更指定
コンテナOSのタイムゾーン設定を、Dockerfileファイルで指定する方法です。
種類・バージョンに寄りますが、
Debian系のLinuxの場合以下で指定可能です。
FROM イメージ名
# timezone setting
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
LinuC Linux豆知識 186 「/etc/localtime」ファイル
今回のメモは以上となります。
OS種類・バージョンによって多少挙動は異なるかもしれませんが、
Dockerコマンド、Dockerfile指定、docker-compose.yml指定で大体は設定できると思います。