無気力生活 (ノ ´ω`)ノ ~゜

脱力系エンジニア。てきとーに生きてます。

Dockerでタイムゾーン指定することについてメモる

mariaDBのイメージ触っているときにタイムゾーン指定で困ったことがあるので調べました。(jessie:Debianの場合。alpha linux使っている場合はこれじゃできないので注意)

最近の開発として、appだけのコンテナ1つで済むことがあまりなく、DBなりKVSなりのデータストアがある前提で作ることが多いです。なので基本的にdocker-composeを使っています。



docker-composeタイムゾーンを指定したい場合、方法として2つあります。

  • docker-compose.yml側に書いて管理
  • Dockerfileでそれぞれ直接指定して管理

docker-compose.ymlで指定する場合

environment:
    - "TZ=Asia/Tokyo" 

Dockerfileで指定する場合

ENV TZ='Asia/Tokyo'



まあどちらでもできるんですよ。
で、ちょっとした悩みとしてあるのが、DockerFileに書くか、docker-composeに書くか。「イメージ単体として完成されているべき」と考えるのであれば、Dockerfileに書くのが妥当だと思うのですが、複数のイメージ前提のシステムであれば、全てで統一されていることが必須になるわけですね。

うーん...正直どちらでもいい気が...タイムゾーンってそんなに変更するものではないですしね(´・ω・`)

考えた結果、冒頭で書いたように、ベースとするイメージによって指定方法が変わってくることもあるので、イメージ単位で指定できるDockerfile側に記述することにしましょう。