Java 停靠Spring应用程序

Java 停靠Spring应用程序,java,spring,maven,docker,dockerfile,Java,Spring,Maven,Docker,Dockerfile,我有一个使用Spring框架+AngularJs前端的工作应用程序。 我以前确实在AmazonAWS上部署过它,只需将mvn包打包到.war文件中即可 现在我需要在docker本地设置一个LinuxEnv来调试一些附加功能(使用windows作为主操作系统),最好将来部署这个docker容器 我确实看过一些关于将Spring Boot应用程序对接的文章 这是spring.io FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD gs-spri

我有一个使用Spring框架+AngularJs前端的工作应用程序。 我以前确实在AmazonAWS上部署过它,只需将
mvn包
打包到.war文件中即可

现在我需要在docker本地设置一个LinuxEnv来调试一些附加功能(使用windows作为主操作系统),最好将来部署这个docker容器

我确实看过一些关于将Spring Boot应用程序对接的文章

这是
spring.io

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

我的问题是-如何在docker容器上运行.war文件?

在docker中部署
.war
文件并不像部署到tomcat服务器那样。您需要有一个
main(字符串args[])
入口点,该入口点也在jar的清单文件中指定。然后,指定为
ENTRYPOINT
app.jar
将运行
main()
。在
main()
中,您可以运行运行应用程序的嵌入式web服务器。

在docker中部署
.war
文件与部署到tomcat服务器不同。您需要有一个
main(字符串args[])
入口点,该入口点也在jar的清单文件中指定。然后,指定为
ENTRYPOINT
app.jar
将运行
main()
。在
main()
中,可以运行运行应用程序的嵌入式web服务器。

如果希望在本地Linux计算机上运行此应用程序,则可以在WAR文件所在的同一目录中创建此Dockerfile

    FROM tomcat:8.0.21-jre8
    RUN [“rm”, “-rf”, “/usr/local/tomcat/webapps/ROOT”] 
    COPY dbconnect.war /usr/local/tomcat/webapps/ROOT.war
    CMD [“catalina.sh”, “run”]
然后,您可以构建Docker映像并提供自定义标记:

     docker build -t <your-username>/tomcat-example:latest . 
docker构建-t/tomcat示例:最新版本。
最后,您可以运行这个容器

     docker run -p 8080:8080 -d --name tomcat  <your-username>/tomcat-example:latest
docker run-p8080:8080-d——名称tomcat/tomcat示例:latest
如果需要使用数据库或web服务器运行此应用程序,可以在此处查看这些详细示例


如果希望在本地Linux计算机上运行此应用程序,则可以在WAR文件所在的同一目录中创建此Dockerfile

    FROM tomcat:8.0.21-jre8
    RUN [“rm”, “-rf”, “/usr/local/tomcat/webapps/ROOT”] 
    COPY dbconnect.war /usr/local/tomcat/webapps/ROOT.war
    CMD [“catalina.sh”, “run”]
然后,您可以构建Docker映像并提供自定义标记:

     docker build -t <your-username>/tomcat-example:latest . 
docker构建-t/tomcat示例:最新版本。
最后,您可以运行这个容器

     docker run -p 8080:8080 -d --name tomcat  <your-username>/tomcat-example:latest
docker run-p8080:8080-d——名称tomcat/tomcat示例:latest
如果需要使用数据库或web服务器运行此应用程序,可以在此处查看这些详细示例


如果您将Spring Boot应用程序配置/打包为一个可执行的.jar而不是.war(如果您选择.jar选项,Spring Boot Initializer将为您执行此操作),那么在您的容器中运行它只需添加一个入口点,以使用-jar和您的jar名称运行java,如


ENTRYPOINT[“java”、“-jar”、“/opt/yourapp-0.0.1-SNAPSHOT.jar”]

如果您将Spring Boot应用程序配置/打包为可执行的.jar而不是.war(如果您选择.jar选项,Spring Boot Initializer将为您执行此操作),那么在您的容器中运行它只需添加一个ENTRYPOINT,以使用-jar和您的jar名称运行java,像


ENTRYPOINT[“java”、“-jar”、“/opt/yourapp-0.0.1-SNAPSHOT.jar”]

能否请您向示例演示
main(String args[])
的外观。实际上,它必须是什么样子。我希望这个问题对其他人有用。请展示示例
main(String args[])
将是什么样子。实际上它必须是什么样子。我希望这个问题能对其他人有用