举例说明:War包与Web服务器
现在有—个JavaWeb应用的WAR包’它需要放在TOmcat的webapps目录下运行°假如只
能用Docker来做这件事’那该如何处理这个组合关系呢?
第一种方法是把WAR包直接放在TOmcat镜像的webapps目录下’做成_个新的镜像运
行起来。可是’这时如果要更新WAR包的内容’或者要升级Tomcat镜像’就需要重新
制作—个新的发布镜像,非常麻烦°
另一种方法是压根儿不管WAR包’永远只发布一个TOmcat容器。不过’这个容器的
webapps目录必须声明—个hostpath类型的VOlume’从而把宿主机上的WAR包挂载进
Tomcat容器中运行起来,不过’这样你就必须解决—个问题—如何让每台宿主机都预
先准备好这个存储有WAR包的目录呢?这样看来’你只能独立维护—个分布式存储系
统了。
实际上’有了Pod之后’这样的问题很容易解决°我们可以把WAR包和Tomcat分别做成镜
像’然后把它们作为—个Pod里的两个容器‘组合,’在—起°这个Pod的配置文件如下所示:
在这个Pod中我们定义了两个容器,第—个容器使用的镜像是geektime/sample:v2,这个镜
像里只有—个WAR包(sample.war)’放在根目录下;第二个容