在Spring Framework中,尤其是在Docker中,我是一个新手,无论如何,我都希望以此方式改进我的应用程序:
当前,我有一个包含2个容器的应用程序:数据库和应用程序(基于tomcat)。在应用程序容器中,我们同时具有:前端(js文件)和后端。在构建应用程序期间,我们创建.war来存储前端文件,而在撰写命令期间,我们将这些文件作为.war文件复制到应用程序容器(tomcat工作的地方)。现在,我想为前端创建另一个容器,以将前端与后端分开,并在将来使部署过程更容易(因此,我想拥有3个容器:数据库,应用程序和应用程序前端)。这个目标可以实现吗?我想到的第一个想法是(使用docker-compose)启动应用程序容器,然后将前端从应用程序前端复制到tomcat。可能吗?
答案 0 :(得分:1)
是的,绝对有可能。
因此,您需要3个容器
database, app and app-frontend
您的应用程序已通过REST API公开了您的所有功能。
然后应用前端调用这些API。
因此,换句话说,您可以将应用程序前端分离并在其他地方运行 在不同的容器中,它将正常工作。
您需要记住的几件事可能会遇到问题
一旦您将应用程序前端与应用程序分开,就会遇到跨源问题。 由于您的API和应用程序前端不在同一个地址上。因此,您可能需要在应用中允许跨源调用
可能是您需要更改API调用路径。如果您正在使用jQuery,则可能正在使用 url:“ / userdetail”。这是行不通的。您需要将其更改为“ URL”:“ IP:PORT / baseApp / userdetail”
应用程序前端应该能够与应用程序API对话。
编辑1:
回答查询
1。如何构建这样的应用程序前端容器? 要么 我的观念错了吗?
因为您将要使用静态文件。
只要您已处理好API网址,只要将这些文件放到任何Web服务器中即可。
您已完成构建应用程序前端容器的操作。
2。我需要像nginx这样的东西吗?
您可以使用任何Web服务器(例如Nginx,Apache ...)来部署您的应用程序前端