Java 无法从Ubuntu 16.04中的TOMCAT 8访问部署到docker映像的war文件
我的Docker文件Java 无法从Ubuntu 16.04中的TOMCAT 8访问部署到docker映像的war文件,java,ubuntu,docker,tomcat8,Java,Ubuntu,Docker,Tomcat8,我的Docker文件 # Pull base image FROM tomcat:8-jre8 # Maintainer MAINTAINER "Ravindu <rav@info.com"> # Copy to images tomcat path ADD /mobile.war /usr/local/tomcat/webapps/ 19-Mar-2017 07:33:11.517 SEVERE [localhost-startStop-1] org.apache
# Pull base image
FROM tomcat:8-jre8
# Maintainer
MAINTAINER "Ravindu <rav@info.com">
# Copy to images tomcat path
ADD /mobile.war /usr/local/tomcat/webapps/
19-Mar-2017 07:33:11.517 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mobile]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@3ec80848]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@1c19c6e4]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: zip file is empty
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 16 more
Caused by: java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:103)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:110)
... 17 more
19-Mar-2017 07:33:11.519 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive /usr/local/tomcat/webapps/mobile.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mobile]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:757)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
#拉基本图像
来自tomcat:8-jre8
#维护者
维护人员“Ravindu你能检查一下mobile.war在复制到容器时是否损坏了吗?我看到你提到你可以在主机上提取它,但可能整个文件没有被正确复制
使用docker exec-it容器名称bash进入您的容器,然后转到/usr/local/tomcat/webapps/
并检查jar xvf mobile.war
在这种情况下可能有两个问题:
在容器中复制像*.war、*.zip、.*.tar.gz等文件的最佳方法不是使用ADD
,而是必须使用copy
,因为copy
和ADD
有一点不同。当使用ADD
时,它会将文件以提取模式放在图像中。如果是在这些.war>中的任何一个,.zip,.*.tar.gz
,如果使用COPY
,那么它只需像cp
命令一样在图像中进行复制。因此,最佳做法是对这些类型的文件使用COPY
,而不用担心会损坏它
正如您在注释“bash:jar:command not found”
中提到的,可能是您的java内部容器未在$PATH
变量中设置,或者java\u HOME
没有适当的权限
希望这会有所帮助。谢谢!您确定WAR文件已实际复制到容器中吗?您正在使用/mobile.WAR
作为本地WAR文件-您确定此文件存在于主机系统的根文件夹中吗?您确定不想改为使用/mobile.WAR
吗?我可以在目录中看到我的mobile.WAR文件tainer。它的提取没有任何问题!你能试着改变tomcat版本,比如“FROM-tomcat:8.0.20-jre8”。不确定它是否会有帮助,但是尝试一下也没什么疯狂的。非常感谢@SanketD!但是它没有解决!同样的错误仍然存在!在容器中运行它会抛出“bash:jar:command Not found”“错!你能试着删除java、tomcat和你的自定义映像,然后重建它吗?你是说tomcat的基本docker映像吗?如果是这样的话,请在发布此问题之前早点尝试!没有进步!谢谢你的回答!我认为ADD可以做的不仅仅是复制。添加副本并不能解决问题。这个问题可能与你的第二点有关。将进行更多调试并返回!伟大的给你更多的提示。在将其放入docker之前,请尝试在物理主机上运行mobile.war
。你可以确定到底是什么造成了战争还是码头工人的问题?问题似乎出在码头工人身上!它在物理主机中运行良好!在您的容器中添加JAVA/jdk/jre
,并在中添加JAVA\u HOME
。bash\u profile
然后在启动tomcat之前验证javac
。我想这个问题与JAVA有关,并且为JAVA dir提供适当的权限。谢谢!问题当然出在我的本地机器java版本上。我在我的AWS linux机器中执行了相同的过程,它工作起来没有任何问题。谢谢你的帮助!
WARNING: Error loading config file:/home/ravindu/.docker/config.json - stat /home/ravindu/.docker/config.json: permission denied
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-8-openjdk-amd64/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
22-Mar-2017 10:50:17.386 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.0.42
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Mar 8 2017 19:58:16 UTC
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.0.42.0
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.4.0-66-generic
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-8-openjdk-amd64/jre
22-Mar-2017 10:50:17.395 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_121-8u121-b13-1~bpo8+1-b13
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/usr/local/tomcat/endorsed
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
22-Mar-2017 10:50:17.396 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
22-Mar-2017 10:50:17.397 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
22-Mar-2017 10:50:17.397 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.12 using APR version 1.5.1.
22-Mar-2017 10:50:17.397 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
22-Mar-2017 10:50:17.445 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.1.0e 16 Feb 2017)
22-Mar-2017 10:50:17.915 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
22-Mar-2017 10:50:17.939 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
22-Mar-2017 10:50:17.940 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2425 ms
22-Mar-2017 10:50:18.034 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
22-Mar-2017 10:50:18.034 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.42
22-Mar-2017 10:50:18.131 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /usr/local/tomcat/webapps/mobile.war
22-Mar-2017 10:50:19.556 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mobile]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@3954f4bc]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@3b4859b1]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: zip file is empty
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 16 more
Caused by: java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:103)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:110)
... 17 more
22-Mar-2017 10:50:19.597 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive /usr/local/tomcat/webapps/mobile.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mobile]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:757)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
22-Mar-2017 10:50:19.618 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /usr/local/tomcat/webapps/mobile.war has finished in 1,467 ms
22-Mar-2017 10:50:19.633 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/host-manager
22-Mar-2017 10:50:20.542 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/host-manager has finished in 909 ms
22-Mar-2017 10:50:20.543 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/docs
22-Mar-2017 10:50:20.595 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/docs has finished in 52 ms
22-Mar-2017 10:50:20.596 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/manager
22-Mar-2017 10:50:20.632 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/manager has finished in 36 ms
22-Mar-2017 10:50:20.636 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/ROOT
22-Mar-2017 10:50:20.697 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/ROOT has finished in 60 ms
22-Mar-2017 10:50:20.697 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat/webapps/examples
22-Mar-2017 10:50:21.239 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat/webapps/examples has finished in 542 ms
22-Mar-2017 10:50:21.245 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
22-Mar-2017 10:50:21.284 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
22-Mar-2017 10:50:21.292 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3351 ms