This is a cheat sheet for running Tomcat and Java web applications containerized
docker run -it --rm --name tomcat -p 8888:8080 -v "$(pwd)":/usr/local/tomcat/webapps tomcat
docker exec -it tomcat bash
docker run -it --rm --name tomcat -p 8888:8080 -v "$(pwd)"/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml -v "$(pwd)"/context.xml:/usr/local/tomcat/webapps/manager/META-INF/context.xml tomcat
tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
</tomcat-users>
context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>