Ek gebruik docker om 'n Java-webtoepassing in tomcat te ontplooi. Vir toetsdoeleindes wil ek die stelseldatum tot 'n spesifieke waarde dwing.

Met Docker is dit nie moontlik om die houerdatum te verander sonder om die gasheerdatum te beïnvloed nie. So ek wil graag Faketime gebruik . Hierdie instrument laat toe om die stelseldatum vir 'n gegewe opdrag te manipuleer. Byvoorbeeld :

$ date
Web Jul 1 09:57:51 UTC 2015
$ faketime "2008-12-24" date
Web Dec 24 00:00:00 UTC 2008

Maar toe ek dit gebruik om tomcat te begin, het ek 'n sem_open-fout gekry:

$ 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

Enige idee om hierdie probleem op te los?

answer

Nie seker of jy reeds hierdie probleem opgelos het nie, dat ek $ faketime "2016-11-02" /bin/bash -c "/opt/tomcat/bin/startup.sh start" uitvoer

dan sal dit die tomcat runtime datum namaak. Hoop dit is nuttig.