我正在尝试与我的主机同步码头集装箱的时区。我的主机使用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
Fri Jul 22 13:53:45 IST 2016
当我部署我的应用程序,我尝试更新日期,我可以看到2016年7月22日的日期正在使用我的浏览器时区,这与Docker容器正在运行的主机相同。但debbuging应用程序的服务器端我可以看到日期转换为UTC时区。这意味着Docker容器并未真正使用我安装的主机卷。
我错过了什么?
另一种方法我试过了,做的工作是更新的时区的泊坞窗容器:
$ dpkg-reconfigure tzdata // Selecting the corresponding options afterwards
这样我可以看到在两个相同的时区:客户端和服务器端的我的应用程序。
在先进的感谢
这听起来像你已经列出了与码头工人和工作中的应用程序是有问题的零件两种方式?不确定我们如何调试您的应用程序,因为我们没有关于甚至是什么的任何细节。 – BMitch
我列出了两种应该可以工作的方法,是的,应用程序似乎是有问题的。该应用程序是我部署到tomcat docker容器中的一个GWT应用程序,我将端口暴露给主机以便能够访问应用程序并调试应用程序(您可以在docker命令中看到端口8080和8090)。我怀疑tomcat docker容器提供的jdk正在发生什么。 – despadina
[如何更改Tomcat 7的服务器时区?](http://stackoverflow.com/questions/28777322/how-to-change-tomcat-7s-server-timezone) – BMitch