1

I need to collect simple spring application on Tomcat in docker container, but when i try to localhost:8080 i get :

404 Type Status Report

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Dockerfile:

FROM tomcat:latest
COPY target/internship_project.war /usr/local/tomcat/webapps/
EXPOSE 8080
CMD ["catalina.sh", "run"]
  1. docker build -t application .
  2. docker run --rm -it -p 8080:8080 application

Log:

    Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/openjdk-11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
25-Jan-2022 09:36:25.829 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/10.0.16
25-Jan-2022 09:36:25.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jan 15 2022 13:19:56 UTC
25-Jan-2022 09:36:25.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.0.16.0
25-Jan-2022 09:36:25.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
25-Jan-2022 09:36:25.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            5.10.16.3-microsoft-standard-WSL2
25-Jan-2022 09:36:25.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
25-Jan-2022 09:36:25.834 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/openjdk-11
25-Jan-2022 09:36:25.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           11.0.13+8
25-Jan-2022 09:36:25.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
25-Jan-2022 09:36:25.836 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
25-Jan-2022 09:36:25.837 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
25-Jan-2022 09:36:25.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
25-Jan-2022 09:36:25.849 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
25-Jan-2022 09:36:25.849 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
25-Jan-2022 09:36:25.849 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
25-Jan-2022 09:36:25.849 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
25-Jan-2022 09:36:25.849 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
25-Jan-2022 09:36:25.849 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
25-Jan-2022 09:36:25.850 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
25-Jan-2022 09:36:25.855 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.31] using APR version [1.7.0].
25-Jan-2022 09:36:25.855 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
25-Jan-2022 09:36:25.857 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1k  25 Mar 2021]
25-Jan-2022 09:36:26.137 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
25-Jan-2022 09:36:26.162 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [475] milliseconds
25-Jan-2022 09:36:26.212 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
25-Jan-2022 09:36:26.213 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.0.16]
25-Jan-2022 09:36:26.228 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/internship_project.war]
25-Jan-2022 09:36:28.062 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
25-Jan-2022 09:36:28.109 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/tomcat/webapps/internship_project.war] has finished in [1,880] ms
25-Jan-2022 09:36:28.118 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]25-Jan-2022 09:36:28.131 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1968] milliseconds

I tried to: localhost:8080/internship_project , but got:

Type Status Report

Message The requested resource [/internship_project/] is not available

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Also i tried to : localhost:8080/internship_project_war and got the same.

Any ideas how to fix that?

Alex
  • 33
  • 1
  • 6
  • Does this answer your question? [.war on tomcat on docker, 404 on servlet](https://stackoverflow.com/questions/69805687/war-on-tomcat-on-docker-404-on-servlet) – Piotr P. Karwasz Jan 25 '22 at 12:11
  • No, i did all from this post, but no.. – Alex Jan 25 '22 at 19:13
  • 1
    In your case you just need to replace `tomcat:latest` with `tomcat:9`. – Piotr P. Karwasz Jan 25 '22 at 19:19
  • @PiotrP.Karwasz Yes, you're right. But now, I have an error: `500 org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.` Do you know why? I read that this is because I have a database in a docker container and I have to use 0.0.0.0 instead of localhost, but that doesn't work. – Alex Jan 25 '22 at 21:54
  • did you find any solution? – Cyebukayire Aug 23 '22 at 16:28

1 Answers1

0

Try doing this

docker pull tomcat:latest

docker run -d --name mytomcat -p 8080:8080 tomcat:latest

docker exec -it mytomcat /bin/bash

mv webapps webapps2

mv webapps.dist/ webapps

exit
Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
  • 1
    As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Aug 25 '22 at 08:01