我正在使用spotify的Docker maven插件並希望構建兩個不同的圖像,一個是數據庫(MariaDB),另一個是Java EE圖像(Glassfish)。Spotify docker maven構建多個圖像
我設法讓Maven在單獨運行時創建圖像,但是當我嘗試並在同一個POM文件中運行時,它只會創建第一個圖像。
我試圖把兩個配置部分中的單個插件內,並得到下面的錯誤:
[ERROR]非可解析POM C:\用戶\ 607819425個\文件\ InteliJProjects \ feature_docker \的pom.xml :重複標記:'configuration'(position:START_TAG seen ... \ r \ n ... @ 300:32)@line 300,column 32 - > [Help 2]
Pom file with 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>
而且還有兩個獨立的插件,它只有每一個構建第一個圖像。
兩個插件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>
任何信息,你可以給將是巨大的!