3

So I have a simple war file that I want to deploy on Docker, HelloWorld.war that I exported from NetBeans and is on my desktop, it gets stuck on

08-Jun-2017 06:59:20.276 INFO [localhost-startStop-1] org.apache.catalina.startu p.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/weba pps/HelloWorld.war]

OR takes too much time to for server startup or just doesn't work properly.

So the command I used is docker run -it -p 8080:8080 -v $(pwd)/Desktop/HelloWorld.war:/usr/local/tomcat/webapps/HelloWorld.war tomcat

Is there anything wrong with my command? I am relatively new to all these things so please bear.

The war file is exported from a project which works fine in Eclipse . here are my container logs :

Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME:
/usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /docker-java-home/jre Using CLASSPATH:
/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar 08-Jun-2017 06:57:35.255 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.15 08-Jun-2017 06:57:35.258 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:
May 5 2017 11:03:04 UTC 08-Jun-2017 06:57:35.258 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:
8.5.15.0 08-Jun-2017 06:57:35.259 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:
Linux 08-Jun-2017 06:57:35.277 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:
4.4.66-boot2docker 08-Jun-2017 06:57:35.282 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:
amd64 08-Jun-2017 06:57:35.282 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:
/usr/lib/jvm/java-8-openjdk-amd64/jre 08-Jun-2017 06:57:35.283 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_131-8u131-b11-1~bpo8+1-b11 08-Jun-2017 06:57:35.283 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
Oracle Corporation 08-Jun-2017 06:57:35.283 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
/usr/local/tomcat 08-Jun-2017 06:57:35.284 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
/usr/local/tomcat 08-Jun-2017 06:57:35.284 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties 08-Jun-2017 06:57:35.284 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 08-Jun-2017 06:57:35.285 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 08-Jun-2017 06:57:35.287 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 08-Jun-2017 06:57:35.289 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat 08-Jun-2017 06:57:35.290 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat 08-Jun-2017 06:57:35.291 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp 08-Jun-2017 06:57:35.294 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.12] using APR version [1.5.1]. 08-Jun-2017 06:57:35.295 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 08-Jun-2017 06:57:35.297 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true] 08-Jun-2017 06:57:35.315 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.0e 16 Feb 2017] 08-Jun-2017 06:57:35.558 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"] 08-Jun-2017 06:57:35.635 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 08-Jun-2017 06:57:35.644 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"] 08-Jun-2017 06:57:35.651 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 08-Jun-2017 06:57:35.664 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2405 ms 08-Jun-2017 06:57:35.728 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina] 08-Jun-2017 06:57:35.729 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.15 08-Jun-2017 06:57:35.856 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/HelloWorld.war]

  • we use https://github.com/fabric8io/docker-maven-plugin for those things, I guess you are using JAVA too, so... maybe is a easy way for you to go :) if not, I only know how to do that with a Dockerfile where you add the entry point and so on... – Federico José Sorenson Jun 08 '17 at 07:18
  • But I have already built the war file using eclipse ; which is installed in my system. –  Jun 08 '17 at 07:20
  • Try removing all other war's that come with tomcat installation, you might keep manager one, but examples, docs, root can be removed, try and check. – ViS Jun 08 '17 at 07:26
  • Thats not helping (ViS) –  Jun 08 '17 at 10:55
  • I had a similar issue, and adding this line to catalina.sh helped: JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom" – Peter Petrekanics Feb 11 '21 at 18:08
  • @PeterPetrekanics I want to run a jar with embedded tomcat, but tomcat gets stuck when starting. Is there any way to pass this JAVA_OPTS as command line arguments when running maven like mvn clean package JAVA_OPS or when executing jar like java -jar X.X.X.jar JAVA OPS. Or may be pass this arguments via java program? – Dashrath Chauhan May 10 '21 at 16:44
  • Hi @DashrathChauhan, could you please provide a minimal reproducible example: https://stackoverflow.com/help/minimal-reproducible-example. I am asking this because the urandom workaround should no longer be necessary: https://stackoverflow.com/questions/59564269/deprecated-java-security-egd-file-dev-urandom-for-spring-boot-applications – Peter Petrekanics May 11 '21 at 06:30
  • 1
    Hi @PeterPetrekanics, I have fixed it. Actually I was running some initial db scripts after starting tomcat which were causing this issue; found it after some debugging and logging. And yes you are right this urandom workaround is no longer necessary, I have verified this by running standalone jar on another machine and it worked like charm. Anyways thanks for some insights. – Dashrath Chauhan May 13 '21 at 16:51

0 Answers0