Angular 如何使角型和弹簧靴在docker内部协同工作?

Angular 如何使角型和弹簧靴在docker内部协同工作?,angular,spring-boot,docker,deployment,docker-compose,Angular,Spring Boot,Docker,Deployment,Docker Compose,我的Angular前端和Spring Boot后端位于单独的Github存储库中。我是docker的新手,我知道如何分别为两者构建docker映像,还阅读了docker compose以集成两者,但前端和后端组件位于不同的存储库中,我不太清楚如何构建一个结合前端和后端docker图像的docker compose。假设您有一个angular:Last和spring boot:Lastdocker图像,以及中的前端应用程序/前端和后端在中/后端(那些是git存储库) 您可以使用Docker com

我的Angular前端和Spring Boot后端位于单独的Github存储库中。我是docker的新手,我知道如何分别为两者构建docker映像,还阅读了docker compose以集成两者,但前端和后端组件位于不同的存储库中,我不太清楚如何构建一个结合前端和后端docker图像的docker compose。

假设您有一个
angular:Last
spring boot:Last
docker图像,以及
中的前端应用程序/前端
和后端在
中/后端
(那些是git存储库)

您可以使用Docker compose创建部署:

version: '3.9'
services:
  frontend:
    image: angular:latest
    volumes:
       - ./frontend:/front
    command: <the right command to serve your app>
   ... [any other useful option, like ports, etc] 

  backend:
    image: spring-boot:latest
    volumes: 
       - ./backend:/back
    command: java -jar /back/target/your.jar #or something
   .. [any useful option]
版本:“3.9”
服务:
前端:
图片:角度:最新
卷数:
-/前端:/front
命令:
... [任何其他有用的选项,如端口等]
后端:
图片:spring boot:最新版本
卷数:
-/后端:/back
命令:java-jar/back/target/your.jar或其他
.. [任何有用的选择]
上部:快速部署以进行测试,代码正在不断更新

缺点:根据您在目录中放置的内容,可能太多,并且您会失去图像的“打包”感觉

其他解决方案:使用Docker文件直接从Github创建Docker映像,该文件将应用程序的打包版本复制到映像中并启动。您甚至可以使用Github操作来实现自动化

Docker build允许您从Github远程上下文进行构建。您可以利用它

正面:你可以得到一个打包在docker镜像中的应用程序,该应用程序自给自足,可以自动部署


缺点:开发时不是最快的解决方案(但如果操作正确,它会与您从CI/CD管道中获得的质量相平衡),学习曲线会稍微陡峭一些(但不会太陡)

使用Docker Compose时不会这样做。您需要制作一个Dockerfile,将两者的输出以您希望的方式放在同一个容器中,以便它们对您有用吗?你找到解决办法了吗?