DockerのTime zoneをJSTに設定する

Rails5をDocker上で動かして開発をしていたのですが、どーもActiveRecordでMySQLに保存したデータのcreated_atがUTCになってしまっていました。

Railsのactive_recordのtime_zoneの設定はlocalにしていました。

    config.time_zone = 'Tokyo'
    config.active_record.default_timezone = :local

なんでかなー?と思ってたらDockerのtime_zoneの設定してなかった。

docker-compose.ymlのwebサーバーのenvironmentに以下の設定を加えればJSTになります。

  web:
    environment:
      - "TZ=Japan"

 

[ 参考 ]

https://github.com/dnvriend/docker-timezone-test/blob/master/docker-compose.yml