簡體   English   中英

相互依賴部署多個微服務,以將軟件包打包到Docker容器

[英]Deploy multiple microservices depending on each other for packages to docker container

我必須將Java中的微服務部署到docker容器,並且這些微服務相互依賴以構建軟件包。 像應用程序a具有其他應用程序b,c和d所需的基本軟件包,因此我不能在沒有a的情況下執行mvn clean install docker:build來構建b,c和d。 我是Docker的新手,有人可以建議我如何解決此問題。

我在pom文件中使用docker插件,然后使用mvn clean install -d docker:build制作docker映像。

有解決此問題的不同方法:

  • 使用maven(或gradle),您可以為通用類創建一個maven項目,並將其作為依賴項導入另一個項目中。
  • 不同項目中的代碼重復。 盡管這似乎不是一個好的解決方案,但它完全將項目之間的依賴關系分開了。 每個項目都必須從其他項目中視為一個黑盒子,因此您不應該對其內部代碼一無所知。 例如,您應該能夠更改單個泊塢窗的編程語言,而不會影響整個環境的行為。

更新的答案:要使用Maven依賴項,請執行以下步驟:

  • 在項目A中找到項目B使用的類
  • 從項目A刪除此類
  • 創建一個新項目C
  • 將在項目A中刪除的類添加到項目C中
  • 生成並安裝項目C(mvn -install)
  • 更改項目A的pom以使用項目C的依賴項
  • 建立專案A
  • 更改項目B的pom以使用項目C的依賴項
  • 建立項目B
  • 使用唯一的jar A.jar為A創建docker映像
  • 使用唯一的jar B.jar為B創建docker鏡像

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM