docker - 有没有办法在 Kubernetes 部署/pod 定义中给出类路径?
问题描述
我有一个应用程序战争,它读取一个 API 实现 jar 文件以在内存中加载一些数据。我目前正在做的是在生成我的应用程序图像时使用 docker 文件将那个 jar 复制到我的“application-war/lib”目录中。
这样做的缺点是每当需要更换罐子时;我需要重新创建我的应用程序战争 docker 映像。
有没有办法可以外部化这个 jar 文件位置,我只需要重新启动正在运行的 pod,而不是每次都创建一个新图像。
我的意思是,如果我可以提供一个额外的 CLASSPATH,我的 pod 容器可以在启动时读取它。
谢谢
解决方案
提供更多上下文。@Hazim所说的一切都是正确的,我完全同意他关于您以正确的方式进行当前构建的观点,因为它允许您查看图像历史记录并在需要时快速切换。
至于在图像中使用外部文件。您需要设置一个PV 持久卷, PVC 持久卷声明将使用该卷。在Configure a Pod to Use a PersistentVolume for Storage中提供了带有示例的非常详细的描述。它展示了如何在你的节点上创建一个文件夹,在其中放置一个文件,稍后将加载到pod
. 您不会将该文件加载到 apod
中,而是使用您的路径Dockerfile
来加载.jar
文件。
如果您的.jar
文件由key=value
条目组成,您也可以使用ConfigMap而不是 PV。这在 Redis 应用程序中得到了很好的解释,您可以在此处看到DOCKER/KUBERNETES - CONFIGURE A POD TO USE A CONFIGMAP。
我希望这能提供所有需要的信息。
推荐阅读
- python - 是aa的绑定方式
在 python 中使用树视图小部件时函数的事件 - isabelle - 紫色的 Isabelle 证明是否有效?
- python - 如何修复 Python 中的 Opencv ValueError?
- c++ - 如何解析 char 数组索引(C++)
- python - 将 pandas 数据帧变量从 google 计算引擎保存到 csv 到 google 存储桶,而无需先保存到磁盘
- javascript - 带折线的 TextArea 值
- python - 如何计算字符串中元音的总数
- python - Pandas 索引和计算行效率想法矢量化代码
- c++ - 具有构造函数的另一个类中的对象数组
- typescript - Jest Async/Await 无论如何都会失败回调?打字稿