如何构建结合角度和弹簧启动应用程序的docker图像?

问题描述 投票:0回答:1

我有两个不同的项目弹簧启动和角度项目。现在我想构建包含两个项目的docker镜像。我检查了maven-resource-plugin将角文件复制到spring-boot /target/classes/resources directory。和docker-maven-pluginspring-boot-app建立码头图像。

我应该使用两个插件的输出来创建所需的输出,还是应该更改创建docker图像的方式?现在我的docker镜像是从spring boot app构建图像。

FROM java:8
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
angular spring-boot docker dockerfile
1个回答
0
投票

您可以将webpack生成的wwwroot作为Spring启动应用程序提供的静态文件托管。

而是通过执行ng serve在webpack-dev上运行你的角度应用程序,你应该通过ng build --prod生成静态文件(我可能会错过一些命令,从内存写入)并将它们作为静态文件放在spring boot app中,如下所示https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot

我不是春天的专家,但你可以像你说的那样做。当然,拥有一个只有前端的单独容器会很不错,但是如果你的spring应用程序与前端完全绑定并且不会为其他服务提供api,那么你可以在spring boot服务器上使用解决方案托管angular。

最后,您只是将html,js和css文件发送到客户端的浏览器,其中代码被执行,因此托管静态文件不会成为负担。

如果您只想扩展后端服务以处理更大的流量,那么将api与前端内容服务(即nginx,httpd)分开将是合理的,但我认为情况并非如此。

© www.soinside.com 2019 - 2024. All rights reserved.