我有两个不同的项目spring boot和angular项目。现在我想要建立docker镜像,其中将包括两个项目。我检查了将angular文件复制到spring-boot /target/classes/resources directory的maven-resource-plugin。以及从spring-boot-app构建docker镜像的docker-maven-plugin。
我应该使用两个插件的输出来创建所需的输出,还是应该更改创建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"]发布于 2019-03-10 06:41:31
您可以将由webpack生成的wwwroot托管为spring引导应用程序提供的静态文件。
而不是通过执行ng serve在webpack-dev上运行您的angular应用程序,您应该通过ng build --prod生成静态文件(我可能在内存中写错了一些命令),并将它们作为静态文件放置在spring boot应用程序中,如这里所示的https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot
我不是spring专家,但你可以像你说的那样做。当然,有一个单独的容器只有前端会很好,但如果你的spring应用程序将与前端紧密捆绑在一起,而不会为其他服务提供api,你可以使用在spring boot服务器上托管angular的解决方案。
最后,您只需将html、js和css文件发送到客户端浏览器,在那里实际执行代码,因此托管静态文件将不会成为负担。
如果你只想扩展后端服务来处理更大的流量,那么将api从前端内容服务(即nginx,httpd)中分离出来是合理的,但我认为这里不是这样。
https://stackoverflow.com/questions/55081023
复制相似问题