My company is preparing a new production box while the current one is running. I would like to proactively install applications in Tomcat container of the new production box
In the <Host> element of your conf/server.xml put deployOnStartup="false". Reference: Tomcat Host documentation
You can simply rename de WEB-INF directory inside the webapp that you don't want to auto-start to some other name like Disabled-WEB-INF, before starting tomcat.
Later on, if you wish to start that app, while tomcat is running, simply rename back the directory to WEB-INF.
You can use tomcat web application manager; this webapp does let you stop any application inside tomcat from running.
add deployIgnore attribute in <Host>, and the value is the regular expression of the dirs you want to ignore, if you want to ignore foo,just set deployIgnore="foo" and you want to ignore more dirs,use regular expressions to set the values