2017-09-05 144 views
0

Via Maven我想從Springboot項目構建一個Docker鏡像。 我運行:MVN清潔套裝泊塢窗:建立 問題:Docker maven fabric8插件(在Windows上):building image給出不兼容問題?

ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.21.0:build (default-cli) on project spring-boot-docker: Execution default-cli of goal io.fabric8:docker-maven-plugin:0.21.0:build failed: An API incompatibility was encountered while executing io. 
fabric8:docker-maven-plugin:0.21.0:build: java.lang.UnsatisfiedLinkError: unknown 
[ERROR] ----------------------------------------------------- 
[ERROR] realm = plugin>io.fabric8:docker-maven-plugin:0.21.0 
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy 
[ERROR] urls[0] = file:/C:/Users/Johan/.m2/repository/io/fabric8/docker-maven-plugin/0.21.0/docker-maven-plugin-0.21.0.jar 
Etc 

Maven的pom.xml文件包含:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
    <docker.image.prefix>springframeworkguru</docker.image.prefix> 
    <docker.image.name>springbootdocker</docker.image.name> 
    <docker.host.url>unix:///var/run/docker.sock</docker.host.url> 
</properties> 

構建插件部分包含:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
     <plugin> 
      <groupId>io.fabric8</groupId> 
      <artifactId>docker-maven-plugin</artifactId> 
      <version>0.21.0</version> 
      <configuration> 
       <dockerHost>${docker.host.url}</dockerHost> 
       <verbose>true</verbose> 
       <images> 
        <image> 
         <name>${docker.image.prefix}/${docker.image.name}</name> 
         <build> 
          <dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir> 
          <assembly> 
           <descriptorRef>artifact</descriptorRef> 
          </assembly> 
          <tags> 
           <tag>latest</tag> 
           <tag>${project.version}</tag> 
          </tags> 
         </build> 
        </image> 
       </images> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

至於建議,我刪除了我的Maven倉庫,這沒有幫助。 使用其他dockerHost值(如http://127.0.0.1:2375)沒有幫助。

我真的希望你能幫忙!

+0

哪個Maven版本你使用? – khmarbaise

+0

@khmarbaise - 謝謝你的提問。甚至在互聯網的末端旅行之後,我找到了答案,見下文。 – tjm1706

回答

1

這是Windows 7,第8和10家解決方案:

  • 找到泊塢窗機環境變量。轉到docker(shell)並鍵入:docker-machine env。碼頭主持人和認證路徑非常重要。
  • 將以下屬性添加到您的pom.xml(Maven的)文件:
    • <docker.host.url>(例如)TCP://192.168.99.100:2376 </docker.host.url>
    • <docker.host.certPath>(EG)的路徑</docker.host.certPath>
  • 在構建插件只是配置 之後添加10
    • <dockerHost> $ {} docker.host.url </dockerHost >
    • <證書路徑> $ {} docker.host.certPath < /證書路徑>