Как запустить Tomcat с FakeTime в контейнере Docker?
Я использую Docker для развертывания веб-приложения Java в Tomcat. В целях тестирования я хочу принудительно установить системную дату на определенное значение.
С помощью Docker невозможно изменить дату контейнера, не влияя на дату хоста. Поэтому я хотел бы использовать Faketime. Этот инструмент позволяет манипулировать системной датой для данной команды. Например:
$ 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. Надеюсь, это полезно.