War与Tomcat容器化问题

将一个War与Tomcat容器化(在世界上任何一个K8S上都可以运行):

  1. 如果需要更新War或者Tomcat都需要对镜像进行重新打包
  2. 镜像中只打包Tomcat,而使用数据卷(HostPath)方式进行挂载War包(需要维护一个分布式文件系统)
    通用解决方法:
    采用”Init Container”进行初始化操作,将需要的War包复制到相应POD的共享的Volume上面,并且这个初始化容器在目标容器运行前进行执行,就可以保证目标容器运行的时候一定存在需要的文件。

而这种模式也被称作“SideCar-边车模式”:[[开发 && 学习/云原生/边车模式(sidecar)和服务网格(server mesh)]]