gpt4 book ai didi

java - 减少多模块 Maven 项目的 Docker 镜像大小

转载 作者:行者123 更新时间:2023-12-02 19:46:43 27 4
gpt4 key购买 nike

我有一个由两个模块组成的多模块 Maven 项目:module1module2 .它们的依赖关系几乎相同,主要在父 pom.xml 中定义。 .

module1/
src/...
pom.xml
module2/
src/...
pom.xml
pom.xml
我正在努力创建一个允许我运行 module1 的 Docker 镜像和 module2作为可执行 jars,但不复制父级 pom.xml 中的依赖项两次?
更新
为了解决评论中的一些问题,我想创建 一个 我可以从中运行 module1 的可执行 jar 的 docker 镜像和 module2 .它们不依赖于一个和另一个并且完全分开运行。我想创建一个图像,因为(当然?!)它将有助于节省 Docker 主机上的磁盘空间。
家长 pom.xml是:
<groupId>com.example</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOST</version>
<packaging>pom</packaging>
<name>parent</parent>
<modules>
<module>module1</module>
<module>module2</module>
</modules>
<dependencies>
...
</dependencies>

最佳答案

I would like to create one docker image from which I can runexecutable jars for module1 and module2. They do not depend on one andother and run completely separately. I want to create one image since(surely?!) it'll help conserve disk space on docker host.


不要那样做。这可能是对 Docker 的误用。
如果申请 module1完全不依赖于应用程序 module2 ,您不应该尝试将它们耦合到同一张图像中,只是为了获得一张图像而不是两张图像。
首先,它首先将图像作为单个图像更大,但总体而言它会产生不希望的耦合: module1 上的代码/配置/更改图像可能会对 module2 造成副作用图像和相反。此外,它还将耦合生命周期:您为两个应用程序创建一个新版本的镜像,而只有一个应用程序可以更改。
许多严重的缺点换来了小优点。

关于java - 减少多模块 Maven 项目的 Docker 镜像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63093318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com