我有两个不同的项目弹簧启动和角度项目。现在我想构建包含两个项目的docker镜像。我检查了maven-resource-plugin
将角文件复制到spring-boot /target/classes/resources directory
。和docker-maven-plugin
从spring-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"]
您可以将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)分开将是合理的,但我认为情况并非如此。