User Tools

Site Tools


unraid:dockers:tomcat

This is an old revision of the document!


Tomcat

Apache Tomcat (or simply Tomcat) is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Oracle, and provides a “pure Java” HTTP web server environment for Java code to run in. In the simplest config Tomcat runs in a single operating system process. The process runs a Java virtual machine (JVM). Every single HTTP request from a browser to Tomcat is processed in the Tomcat process in a separate thread.

Version

I used the official container on DockerHub

Docker Setup

  • Network Type: Custom: brimble
  • Fixed IP address (optional): blank
  • Console shell command: Shell
  • Privileged: off

Add another Path, Port, Variable…

  • Path
    • Name: webapps
    • Container path: /usr/local/tomcat/webapps
    • Host path: /mnt/disks/samsung_nvme/appdata/tomcat/webapps
    • read/write
  • Port
    • Container port: 8080
    • Host port: 7070 (or whatever isn't used by unraid
    • TCP

App Settings

  • Use similar steps used in VM setup to complete mysql linking etc.
    • Install Java / Mysql connector
      apt-get install libmysql-java
    • Note: This was not supported in 20.04 at the time and must be installed manually.
      • Download JDBC Driver for Mysql (Connector/J) from https://www.mysql.com/products/connector/
      • ssh into docker:
        docker exec -it football bash
      • Use “cat /etc/os-release” to check what version docker is running
      • Install the debfile:
        dpkg -i thatdebfile.deb
    • Create symlink for connector
      ln -sf /usr/share/java/mysql-connector-java.8.0.27.jar /usr/local/tomcat/lib/mysql-connector-java.jar
    • In reality, all you need are the .jar files and keep them in the appdata somewhere mapped… then just symlink those into the /usr/local/tomcat/lib/ folder
      ln -sf /usr/local/tomcat/webapps/jar/mysql-connector-java.X.X.XX.jar /usr/local/tomcat/lib/mysql-connector-java.jar
      ln -sf /usr/local/tomcat/webapps/jar/javax.mail.jar /usr/local/tomcat/lib/javax.mail.jar
      etc
    • If webinf files need to be compiled:
      javac -cp /usr/local/tomcat/lib/servlet-api.jar:/usr/local/tomcat/lib/jsp-api.jar util/*.java
    • Note: this step is different from Tomcat v9 in VM because paths are different.
    • Note2: MUST CHANGE import javax.servlet.* to import jakarta.servlet.* in all the .java files under the WEB-INF folder before compiling with above.
    • Restart
unraid/dockers/tomcat.1678670548.txt.gz · Last modified: by dirk