Docker maven fabric8插件(在Windows上):building image给出不兼容问题?

问题描述:

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

这是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 < /证书路径>