2017-11-10 120 views
0

我從搬運工運行Tomcat:通過碼頭工人在Tomcat中部署的.war - 404

docker run -it --rm -p 8888:8080 -v /Users/laura/Desktop/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro tomcat:8.0 

我可以訪問Tomcat管理就好了。我已將我的.war文件複製到webapps目錄,但Tomcat管理器在嘗試訪問它時給了我一個404 ......部署期間沒有錯誤。

我也曾嘗試直接將.war運行它安裝:

docker run -it --rm -p 8888:8080 -v /Users/laura/Desktop/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v /Users/laura/Desktop/glossary.war:/usr/local/tomcat/webapps/glossary.war tomcat:8.0 

用下面的輸出:

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 
10-Nov-2017 23:49:05.890 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:  Apache Tomcat/8.0.47 
10-Nov-2017 23:49:05.893 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:   Sep 29 2017 13:46:41 UTC 
10-Nov-2017 23:49:05.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:   8.0.47.0 
10-Nov-2017 23:49:05.896 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:    Linux 
10-Nov-2017 23:49:05.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:   4.9.41-moby 
10-Nov-2017 23:49:05.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:   amd64 
10-Nov-2017 23:49:05.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:    /usr/lib/jvm/java-7-openjdk-amd64/jre 
10-Nov-2017 23:49:05.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:   1.7.0_151-b01 
10-Nov-2017 23:49:05.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:   Oracle Corporation 
10-Nov-2017 23:49:05.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:   /usr/local/tomcat 
10-Nov-2017 23:49:05.902 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:   /usr/local/tomcat 
10-Nov-2017 23:49:05.904 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties 
10-Nov-2017 23:49:05.904 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
10-Nov-2017 23:49:05.905 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 
10-Nov-2017 23:49:05.906 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 
10-Nov-2017 23:49:05.906 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/usr/local/tomcat/endorsed 
10-Nov-2017 23:49:05.907 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat 
10-Nov-2017 23:49:05.908 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat 
10-Nov-2017 23:49:05.908 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp 
10-Nov-2017 23:49:05.909 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.14 using APR version 1.5.1. 
10-Nov-2017 23:49:05.910 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 
10-Nov-2017 23:49:05.914 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.1.0f 25 May 2017) 
10-Nov-2017 23:49:06.058 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"] 
10-Nov-2017 23:49:06.077 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"] 
10-Nov-2017 23:49:06.079 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 779 ms 
10-Nov-2017 23:49:06.163 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina 
10-Nov-2017 23:49:06.164 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.47 
10-Nov-2017 23:49:06.232 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /usr/local/tomcat/webapps/glossary.war 
10-Nov-2017 23:49:17.411 INFO [localhost-startStop-1] 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. 
10-Nov-2017 23:49:17.533 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /usr/local/tomcat/webapps/glossary.war has finished in 11,301 ms 
10-Nov-2017 23:49:17.536 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/examples 
10-Nov-2017 23:49:18.079 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/examples has finished in 543 ms 
10-Nov-2017 23:49:18.080 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/host-manager 
10-Nov-2017 23:49:18.120 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/host-manager has finished in 39 ms 
10-Nov-2017 23:49:18.120 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/manager 
10-Nov-2017 23:49:18.157 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/manager has finished in 37 ms 
10-Nov-2017 23:49:18.158 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/docs 
10-Nov-2017 23:49:18.183 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/docs has finished in 26 ms 
10-Nov-2017 23:49:18.183 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/ROOT 
10-Nov-2017 23:49:18.206 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/ROOT has finished in 23 ms 
10-Nov-2017 23:49:18.215 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"] 
10-Nov-2017 23:49:18.300 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"] 
10-Nov-2017 23:49:18.407 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 12327 ms 

然後我嘗試訪問它:http://localhost:8888/glossary/但它失敗404

這裏是webapp目錄的內容:

[email protected]:/usr/local/tomcat# ls -lh webapps/ 
total 147M 
drwxr-xr-x 3 root root 4.0K Nov 4 21:32 ROOT 
drwxr-xr-x 14 root root 4.0K Nov 4 21:32 docs 
drwxr-xr-x 6 root root 4.0K Nov 4 21:32 examples 
drwxr-xr-x 5 root root 4.0K Nov 10 23:05 glossary 
-rwxr-xr-x 1 root root 147M Nov 10 23:05 glossary.war 
drwxr-xr-x 5 root root 4.0K Nov 4 21:32 host-manager 
drwxr-xr-x 5 root root 4.0K Nov 4 21:32 manager 

這裏是我看到的manager404錯誤。

任何幫助將非常感謝!

PS:我也是從碼頭工人正在運行的Oracle,因爲我的web應用程序使用它: 搬運工運行--name OracleXE --shm尺寸=1克-p 1521:1521 -p 8080:8080 -v /用戶/勞拉/桌面/數據:/ u01/app/oracle/oradata -e ORACLE_ALLOW_REMOTE = true oracle /數據庫:11.2.0.2-xe

+1

也許問題來自詞彙表應用程序本身? –

+0

我想你在詞彙表應用程序有問題。它有根映射嗎?我建議你從apache下載'war'樣本並在你的tomcat實例中試用https://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/ –

+0

感謝您的幫助。我在本地有Tomcat,並且能夠運行我的應用程序。這是通過碼頭使用它時,我得到的問題。我可以通過docker運行示例應用程序,而不會出現任何錯誤。我試圖通過docker運行我的應用程序時唯一改變的是數據庫連接字符串(因爲我的應用程序使用另一個容器中的Oracle),我正在更新到我的ip(而不是本地主機)。 [https://forums.docker.com/t/connecting-to-an-oracledb-in-a-docker-container-from-another-java-docker-container/13269/2] ... – user8840545

回答

0

既然你有權訪問你的tomcat實例和管理器應用程序,那麼你應該能夠查看部署的應用程序,它們是否正在運行以及它們的上下文路徑。 那麼它對詞彙表有什麼意義?您是否已經部署並運行了應用程序上下文路徑/詞彙表的應用程序? 您可以通過訪問Tomcat管理應用程序

http://localhost:8080/manager/html下回答這些問題(或指定的主機和端口)

希望這有助於!

您可能嘗試的另一件事是將glossary.war重命名爲ROOT.war。這會將您的詞彙表應用程序部署爲ROOT應用程序,並且可以直接在localhost:8080下(或者運行tomcat的任何端口)訪問它。

+0

謝謝Yordan。我添加了我在管理器應用程序中看到的屏幕截圖。我可以看到我的應用程序,但試圖訪問/詞彙表給我一個404。 – user8840545

+0

那麼它說,你的應用程序已部署和運行。所以它一定是應用程序。由於我沒有看到名稱,因此我會更仔細地查看_web.xml_包含的內容,並在應用程序的Web目錄中放置默認的_index.html_文件。 –