Назад | Перейти на главную страницу

Как запустить tomcat с faketime в контейнере докера?

Я использую докер для развертывания веб-приложения Java в Tomcat. В целях тестирования я хочу установить для системной даты определенное значение.

С 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

Есть идеи решить эту проблему?

Не уверен, что вы уже решили эту проблему, я выполняю $ faketime "2016-11-02" / bin / bash -c "/opt/tomcat/bin/startup.sh start"

тогда он подделает дату выполнения tomcat. Надеюсь, это будет полезно.