与Docker容器共享主机时区

我正在尝试将Docker容器的时区与我的主机同步。 我的主机使用ISM和docker容器(使用tomcat图像)默认情况下使用UTC。 我读过,我们应该挂载一个卷来共享主机的时区:

$ docker run -t -i -p 8080:8080 -p 8090:8090 -v /etc/localtime:/etc/localtime:ro tomcat:7.0.69-jre8 /bin/bash 

之后,我可以检查检索的date是否与主机相同:

 $ date Fri Jul 22 13:53:45 IST 2016 

当我部署我的应用程序,我尝试更新date,我可以看到date22/07/2016正在使用我的浏览器时区,这是运行docker集装箱的主机相同。 但debbuging应用程序的服务器端我可以看到date转换为UTC时区。 这意味着docker容器并没有真正使用我安装的主机卷。

我错过了什么?

我尝试过的另一种方法是更新Docker容器中的时区:

 $ dpkg-reconfigure tzdata // Selecting the corresponding options afterwards 

这样我可以在我的应用程序的客户端和服务器端看到相同的时区。

先谢谢了

在debugging和阅读date和时间之后,我认为后端将date和时间存储在UTC / GMT中是有意义的,这种方式与保存在数据库中的客户端时区无关。 因此,改变tomcat服务器的时区以匹配主机不是一个好习惯(这应该不重要)。

我遇到的问题是前端使用date和时间(UTC / GMT +1),时间设置为00:00h,当到达后端时,date和时间转换为UTC / GMT,这使得它前一天的23:00。 持久层只是存储错误的date,因为我们失去了数据(时间),当我们试图从数据库中检索该logging时,我们将得到没有时间的前一个date,所以这不是我们所期望的结果。

我希望我的解释是有道理的