Spotify docker maven构build多个图像

我正在使用Spotify的Docker Maven插件,并希望构build两个不同的映像,一个是数据库(MariaDB),另一个是Java EE映像(Glassfish)。

我设法让Maven在单独运行时创build图像,但是当我尝试在同一个POM文件中运行时,它只会创build第一个图像。

我曾尝试在单个插件中放置两个configuration部分,并获取以下错误:

[错误]无法parsing的POM C:\ Users \ 607819425 \ Documents \ InteliJProjects \ feature_docker \ pom.xml:重复的标记:'configuration'(position:START_TAG seen … \ r \ n … @ 300:32) @行300,栏32 – > [帮助2]

Pom文件与2个configuration标签在一个插件

<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.11</version> <configuration> <imageName>glassfish</imageName> <dockerDirectory>glassfish</dockerDirectory> <baseImage>java</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!-- copy the service's jar file from target into the root directory of the image --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> <configuration> <imageName>mariadb</imageName> <dockerDirectory>mariadb</dockerDirectory> <baseImage>java</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!-- copy the service's jar file from target into the root directory of the image --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 

还有两个独立的插件,只有每一个都build立第一个图像。

两个插件POM:

 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.11</version> <configuration> <imageName>glassfish</imageName> <dockerDirectory>glassfish</dockerDirectory> <baseImage>java</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!-- copy the service's jar file from target into the root directory of the image --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.11</version> <configuration> <imageName>mariadb</imageName> <dockerDirectory>mariadb</dockerDirectory> <baseImage>java</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!-- copy the service's jar file from target into the root directory of the image --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 

任何信息,你可以给将是伟大的!

我最终转换到了Fabric8.io的插件版本,因为支持多个图像。

Fabric 8 Docker Maven插件