docker修改pod容器内时间,不改变宿主机时间

libfaketime 拦截程序用于检索的各种系统调用
当前日期和时间。然后它报告修改(伪造)的日期和时间(如
由您(用户)指定)到这些程序。这意味着您可以修改
程序看到的系统时间,而不必更改系统范围内的时间。

libfaketime 允许您指定绝对日期(例如,01/01/2004)和
相对日期(例如,10 天前)。
libfaketime 可能用于各种目的,例如

- 确定性的构建过程
- 调试与时间相关的问题,例如过期的 SSL 证书
- 2038 年合规性测试软件

libfaketime 附带一个名为“faketime”的命令行包装器
更易于使用,但并未公开 libfaketime 的所有功能。如果你的
faketime 命令未涵盖用例,请务必查看此
文档是否可以直接使用 libfaketime 来实现。

==================================

用法:

使用绝对日期
----------------------

_必须_用于_绝对_日期的格式是“YYYY-MM-DD hh:mm:ss”。
例如,必须将 2020 年 12 月 24 日晚上 8:30 指定为
FAKETIME="2020-12-24 20:30:00"。
使用“开始于”日期
--------------------------
_必须_用于_start_at_日期的格式是“@YYYY-MM-DD hh:mm:ss”。
例如,必须将 2020 年 12 月 24 日晚上 8:30 指定为
FAKETIME="@2020-12-24 20:30:00"。

下载libfaketime包,链接:https://download.csdn.net/download/yangbin1265712/86404423

# 解压
unzip libfaketime-master.zip

# 安装
cd libfaketime
make
make install

# 临时配置
# 安装完成后默认在/usr/local/lib下有个faketime目录,执行下面命令即可
export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="YYYY-MM-DD hh:mm:ss"

# 永久配置
echo 'export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="YYYY-MM-DD hh:mm:ss"' >>/etc/profile
source /etc/profile

参考:https://github.com/wolfcw/libfaketime

你可能感兴趣的:(docker,docker,容器,运维)