在app.war中没有主要的清单属性

我有一个WAR文件,我想在Docker中进行部署,但是当我在构build之后使用关联的端口运行它时,出现此错误: no main manifest attribute, in app.war

我的Dockerfile看起来像这样

 FROM java:8 EXPOSE 8080 ADD /service.war app.war ENTRYPOINT ["java","-jar","app.war"]` 

应该做什么来解决这个错误?

我想你需要一个Tomcat,而不是一个Java图像。 即使没有Dockerfile也可以尝试。 在.war文件的相同目录中启动此命令:

 docker run --name myTomcat -p 8080:8080 --rm -i -v $(pwd)/service.war:/usr/local/tomcat/webapps/app.war tomcat 

这将启动一个Tomcat服务器,并部署您的战争,并将端口8080从您的容器映射到您的docker主机。 我希望它有帮助。