在Cloud Foundry上部署一个java web应用时,默认会使用Cloud Foundry自带的java-buildpack来打包部署该web应用。在使用java-buildpack stage app时,会先启动Tomcat,然后Tomcat会去自动扫描其部署目录中的war包,部署并启动该web应用。因为应用实例是跑在warden container里的,在外部只能通过warden所在的DEA虚机的ip:port进行对容器内应用的访问(通过DNAT将DEA的ip:port转换成warden container的ip:port)。所以,如果我要在外部去访问部署应用的Tomcat服务器的首页以及Tomcat web控制台时,都访问不了。请问各位大神,如果我需要这样在外部去访问部署应用的Tomcat控制台,应该怎么去做?

解决方案 »

  1.   

    CloudFoundry是希望用户只需要关注code本身,而减少对各种中间件管理的开销,app 部署到cf上,能够运行起来,对于开发者来说就ok了,中间需要做的事CF会去完成,所以无论是基于tomcat还是IBM liberty的buildpack,都不希望用户直接去管理这些中间件,或者说希望用户根本不用在意他的应用是怎么跑的。
      

  2.   

    因为我想监控部署到Cloud Foundry PaaS上的应用的运行情况,直接通过Tomcat Web控制台可以看得很清楚。所以,现在想着如何才能从外部去访问容器中Tomcat的控制台。
      

  3.   

    不可以直接监控warden吗?
    不知道楼主最后是用什么方案做到应用的监控的