Как запустить 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. Надеюсь, это полезно.

Другие вопросы по тегам