maven - Docker maven Fabric8 插件(在 Windows 上): building image gives incompatibility issues ?

标签 maven docker fabric8

通过 Maven,我想从 Springboot 项目构建 Docker 镜像。 我运行: mvn clean package docker:build 问题:

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 )没有帮助。

真心希望能帮到你!

最佳答案

这是 Windows 7、8 和 10 Home 上的解决方案:

  • 查找 docker 机器环境变量。转到 docker(shell)并输入:docker-machine env。 docker主机和认证路径很重要。
  • 将以下属性添加到您的 pom.xml (maven) 文件中:
    • (例如)tcp://192.168.99.100:2376
    • (例如)路径
  • 在您的构建插件中,在配置后添加
    • ${docker.host.url}
    • ${docker.host.certPath}

关于maven - Docker maven Fabric8 插件(在 Windows 上): building image gives incompatibility issues ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46059403/

相关文章:

java - 将 Maven 项目作为包含多个 Artifact 的库发布

maven - 如何在Maven中更改$ {project.build.outputDirectory}的默认值?

java - Maven 错误 :Perhaps you are running on a JRE rather than a JDK?

docker - SSL 握手不适用于 docker 容器

maven - gofabric8>无法解压缩/Users/apple/.fabric8/bin/oc.zip zip:无效的zip

javascript - Java/SpringMVC/Maven元素的缓存清除机制

node.js - 从Docker运行时的NodeJS App 'Module Not Found'

Docker 镜像在我的 Chrome 上运行但没有任何内容

Fabric8 kubernetes 客户端和观察程序的 java.net.SocketException

java - Openshift 部署 F8 : Cannot access cluster for detecting mode: sun. security.validator.ValidatorException