我开发了一个应用程序使用Angular , Spring Boot 和MySQL数据库。我想做发布到Docker集线器,但我仍然困惑,如果我应该创建不同的图像每个(Angular ,APISpring启动和MySQL)或我应该只是把它都在一个Docker图像我试过只停靠 Boot API但我对整个应用程序仍有疑问
6g8kf2rb1#
后端和前端应该在同一个映像中。根据后端或前端是否与其他服务共享,你可以考虑制作单独的映像。如果它们不共享,制作两个映像就没有意义,因为没有后端和前端,你的前端就无法工作。数据库应该在一个单独的图像,它不是你的应用程序的一部分,它是你的数据存储的一部分,可以很容易地与其他应用程序共享。
31moq8wy2#
好的做法是将它们分开放置。为了使您的应用程序更加灵活,您可以将所有访问定义为映像的环境变量。也就是说,将后端的基本url定义为ENV,将对数据库的访问定义为ENV之后,您可以利用Docker-compose来编排所有内容
2条答案
按热度按时间6g8kf2rb1#
后端和前端应该在同一个映像中。根据后端或前端是否与其他服务共享,你可以考虑制作单独的映像。如果它们不共享,制作两个映像就没有意义,因为没有后端和前端,你的前端就无法工作。
数据库应该在一个单独的图像,它不是你的应用程序的一部分,它是你的数据存储的一部分,可以很容易地与其他应用程序共享。
31moq8wy2#
好的做法是将它们分开放置。
为了使您的应用程序更加灵活,您可以将所有访问定义为映像的环境变量。
也就是说,将后端的基本url定义为ENV,将对数据库的访问定义为ENV
之后,您可以利用Docker-compose来编排所有内容