如何持久化在 docker 内的 tomcat 上运行的 Spring Boot 应用程序的会话
Posted
技术标签:
【中文标题】如何持久化在 docker 内的 tomcat 上运行的 Spring Boot 应用程序的会话【英文标题】:How to persist sessions of spring boot application running on tomcat inside docker 【发布时间】:2020-04-24 21:27:08 【问题描述】:我的 spring boot(2.2) 应用程序有一个标准 Dockerfile
FROM openjdk:11-slim
EXPOSE 8080
COPY ./build/libs/*.jar ./app.jar
CMD java -jar app.jar
spring boot 中有一个属性可以启用会话持久性(在我的例子中是 Tomcat
)
server.servlet.session.persistent=true
对于我的单一服务应用程序来说,使用 redis 似乎有点过头了。
也许我可以创建一个卷来存储会话?
【问题讨论】:
是的,你可以这样做:“也许我可以创建一个卷来存储会话?”你有什么问题? 酷!我不确定这是否可能。找不到任何相关信息(你能帮忙提供一个链接吗? 确实创建了一个卷,callicoder.com/spring-boot-docker-example 【参考方案1】:简单定义目录:
server.servlet.session.store-dir=/<the directory you mount as volume>
就是这样。
【讨论】:
以上是关于如何持久化在 docker 内的 tomcat 上运行的 Spring Boot 应用程序的会话的主要内容,如果未能解决你的问题,请参考以下文章
将外部 application.properties 文件添加到 tomcat 内的 dockerized spring boot web 应用程序