Java 停靠Spring应用程序
我有一个使用Spring框架+AngularJs前端的工作应用程序。 我以前确实在AmazonAWS上部署过它,只需将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
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[])
将是什么样子。实际上它必须是什么样子。我希望这个问题能对其他人有用