在不影响主机的情况下更改docker容器中的系统日期时间

时间:2015-03-10 20:43:56

标签: linux datetime kernel docker

我想知道是否可以在不更改主机本身的情况下更改Docker容器中的系统时间。我们正在使用docker容器进行测试,这些容器有时会对时间敏感。我注意到对主机时间所做的任何更改都会立即反映到docker容器中(这是有意义的,因为它们使用相同的内核)。我希望Docker能够以某种方式覆盖容器的开始时间并从那里移动。

由于

2 个答案:

答案 0 :(得分:2)

对于那些希望在docker容器中拥有不同日期时间的人来说,https://github.com/wolfcw/libfaketime应该能够完成这项工作。

由于

答案 1 :(得分:2)

简单:

步骤:

  1. 首先检查docker容器的本地时间:

    [root@locdb oracle]# zdump /etc/localtime
    /etc/localtime  Tue May 22 13:59:40 2018 UTC
    
  2. 检查以下时区:

    [root@locdb oracle]# zdump /usr/share/zoneinfo/* | tail -10
    /usr/share/zoneinfo/UTC          Tue May 22 14:01:21 2018 UTC
    /usr/share/zoneinfo/Universal    Tue May 22 14:01:21 2018 UTC
    /usr/share/zoneinfo/W-SU         Tue May 22 17:01:21 2018 MSK
    /usr/share/zoneinfo/WET          Tue May 22 15:01:21 2018 WEST
    /usr/share/zoneinfo/Zulu         Tue May 22 14:01:21 2018 UTC
    /usr/share/zoneinfo/iso3166.tab  Tue May 22 14:01:21 2018
    /usr/share/zoneinfo/posix        Tue May 22 14:01:21 2018
    /usr/share/zoneinfo/posixrules   Tue May 22 10:01:21 2018 EDT
    /usr/share/zoneinfo/right        Tue May 22 14:01:21 2018
    /usr/share/zoneinfo/zone.tab     Tue May 22 14:01:21 2018
    
  3. 复制您需要的那个,例如:

    cp  /usr/share/zoneinfo/UTC /etc/localtime