2016-08-16 80 views
3

我正在使用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> 

任何信息,你可以給將是巨大的!

回答