我的整个Maven项目包含多个模块,其中每个模块都对应于某个服务。我决定为每个服务创建单独的Dockerfile。
pom.xml
|
x----module1
| |
| x----pom.xml
|
x----module2
| |
| x----pom.xml
|
x----module3
|
x----pom.xml
我需要为每个模块创建一个单独的Dockerfile。例如,对于module1,我创建一个DockerfileModule1
并复制父pom.xml
,然后复制一个特定模块的pom.xml
及其src文件夹,如下所示。
DockerfileModule1
...
# Copy source and required setup files
ADD pom.xml pom.xml
ADD module1/pom.xml ./module1/pom.xml
# Maven building commands
RUN mvn clean package -DskipTests=true -pl module1
构建上面的docker映像时,出现如下错误
Child module /module2 of /pom.xml does not exist @
可能是因为父级pom.xml
包含以下部分:
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
</modules>
请让我知道,我应该如何组织我的pom文件或Dockerfile,这应该允许我仅构建module1的docker映像。