我使用docker在tomcat中部署Java web应用程序。出于测试目的,我想强制系统日期为特定值。
使用 Docker 时,无法在不影响主机日期的情况下更改容器日期。因此,我想使用假时间。此工具允许操纵给定命令的系统日期。例如:
$ date
Web Jul 1 09:57:51 UTC 2015
$ faketime "2008-12-24" date
Web Dec 24 00:00:00 UTC 2008
然而当我使用它启动 tomcat 时,出现了 sem_open 错误:
$ faketime "2008-12-24" /bin/bash -c "/opt/tomcat/bin/catalina.sh start"
[...]
Tomcat started.
$ tail -f /opt/tomcat/logs/catalina.out
sem_open: No such file or directory
有什么办法可以解决这个问题吗?
答案1
不确定您是否已经解决了这个问题,我执行 $ faketime "2016-11-02" /bin/bash -c "/opt/tomcat/bin/startup.sh start"
然后它将伪造 tomcat 运行时日期。希望这有用。