java - Kubernetes 卷挂载路径

标签 java tomcat docker kubernetes google-kubernetes-engine

我正在为同一个应用程序运行多个 web pod,我的应用程序中有这个文件夹,客户可以在其中上传他们的文件。 该文件夹位于此目录中(如果我的 war 文件名为 sample.war)/usr/local/tomcat/webapps/sample/uploadfiles 我希望它在所有 web pod 之间共享, 如果客户端登录到特定 web POD 1 中的随机 session 并在那里上传一些文件,下次他登录到另一个 web POD N 中的另一个随机 session 时可以找到它们 我正在使用 Google Cloud Platform 容器引擎和 Google 永久磁盘作为永久卷

我的 dockerfile 看起来像这样

FROM tomcat:8-jre8
ADD sample.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"] 

我的 Kubernetes 部署 YAML 文件中有这个

volumeMounts:
    - mountPath: /usr/local/tomcat/webapps/    

但是我在我的 pod 中得到一个空的/usr/local/tomcat/webapps/目录,只有 lost+found 甚至当我挂载/usr/local/tomcat/webapps/的任何子目录时,该子目录是也是空的。

所以我应该以文件上传到/usr/local/tomcat/webapps/之外的目录的方式编辑我的应用程序,比如/usr/local/tomcat/uploadfiles,或者有一种共享/usr/local 的方法/tomcat/webapps/sample/uploadfiles 在 pod 之间。

最佳答案

并非所有卷类型都支持在不同 Pod 之间共享相同的可写卷。阅读 Persistent Volumes manual并寻找支持 ReadWriteMany

的卷类型

关于java - Kubernetes 卷挂载路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42544684/

相关文章:

java - 如何使用java代码在google中搜索?

java - IBM WAS apache httpcore 和 httpclient

java - Jetty 新手 - 等待响应数据并继续,ASYNCSTARTED 异常

tomcat - 如何在 Tomcat 6 上配置 SSL 证书?

tomcat - Tomcat 中的 ESAPI 属性文件

docker - 使用 Dockerfile 中的 COPY 在目标目录中复制具有不同名称的文件

Dockerfile 无法验证 Postgres apt 签名

java - 如何缩放从 PNG 加载的透明 org.eclipse.swt.graphics.Image; java

apache - 如何从 Apache 重定向到 Tomcat?

spring - Keycloak:从内部 docker 容器运行时 token 颁发者无效