我已经从Centos7基础映像创建了一个docker镜像,并且在运行容器时,时间和时区与我的主机不同步。为容器提供与主机相同的时区。我在运行容器时使用'-v'参数将/ etc / timezone和/ etc / localtime从主机挂载到容器。 用这个运行容器之后,这就是我进入容器和主机的内容:
对于运行timedatectl的docker容器:
[root@d7a24c723f6a /]# timedatectl
Local time: Tue 2017-08-01 10:28:30 IST
Universal time: Tue 2017-08-01 04:58:30 UTC
RTC time: n/a
Time zone: UTC (IST, +0530)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
对于运行timedatectl的主机:
[root@indiadev72 ~]# timedatectl
Local time: Tue 2017-08-01 10:27:29 IST
Universal time: Tue 2017-08-01 04:57:29 UTC
RTC time: Tue 2017-08-01 04:57:29
Time zone: Asia/Kolkata (IST, +0530)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
我不知道为什么我的docker容器无法占用主机的时区。
修改 : 另外,在运行我的一些测试用例时,我能够看到应用程序正在将timezoneid读作“GMT + 530”而不是亚洲/加尔各答。虽然GMT + 530确实是亚洲/加尔各答,但由于容器内的时区ID不匹配,我的测试用例失败了。 也许它只是timezoneID问题,容器正在拿起正确的时间。有人可以帮忙吗?