【问题标题】:Failed to execute goal io.fabric8:docker-maven-plugin:0.21.0:build window 10 home OR pro未能执行目标 io.fabric8:docker-maven-plugin:0.21.0:build window 10 home OR pro
【发布时间】:2017-10-06 04:16:58
【问题描述】:

将 Docker 与 Maven Docker Maven 插件集成。我在 Windows 10 家用机器上通过 Maven 获取 Docker Run 时遇到问题。使用以下跟踪构建失败。

DOCKER> Cannot create docker access object  [Cannot extract API version from 
server https://192.168.99.100:2376 : 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find 
valid certification path to requested target]
[INFO]
Failed to execute goal io.fabric8:docker-maven-plugin:0.21.0:build (default-
cli) on project fleetman: Cannot create docker access object: Cannot extract 
API version from server https://192.168.99.100:2376 : 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find 
valid certification path to requested target -> [Help 1]
[ERROR]

【问题讨论】:

    标签: maven docker plugins


    【解决方案1】:

    如果您使用的是 window 10 主页,解决方案是:

    我们正在制作干净的包 docker:build 作为目标

    首先获取你的docker安装的环境变量

    $ docker-machine env
    

    你会得到这样的东西

    export DOCKER_TLS_VERIFY="1"
    export DOCKER_HOST="tcp://192.168.99.100:2376"
    export DOCKER_CERT_PATH="C:\Users\vimal\.docker\machine\machines\default"
    export DOCKER_MACHINE_NAME="default"
    export COMPOSE_CONVERT_WINDOWS_PATHS="true"
    

    这个DOCKER_CERT_PATH已经在你的机器里了,你可以验证一下有CA证书的文件夹内容,已经在安装过程中生成了,不用再做。

    您只需将条目添加到您的 POM 文件中,让我们看看...

    <!-- DMP Docker Maven Plugin  https://dmp.fabric8.io/ -->
            <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.21.0</version>
    
                <configuration>
                    <!-- <dockerHost>http://127.0.0.1:2375</dockerHost> for window 10 pro-->
                    <!-- this is for Mac and Amazon Linux -->
                    <!-- <dockerHost>unix:///var/run/docker.sock</dockerHost> -->
                    <dockerHost>tcp://192.168.99.100:2376</dockerHost>
                    <verbose>true</verbose>
    
                    <images>
                        <image>
                            <name>vimalkrishna/abc-app</name>
                            <build>
                                <dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir>
    
                                <assembly>
                                    <descriptorRef>artifact</descriptorRef>
                                </assembly>
                                <tags>
                                    <tag>latest</tag>
                                </tags>
                            </build>
                        </image>
                    </images>
                    <certPath>C:\Users\vimal\.docker\machine\machines\default</certPath>
                </configuration>
            </plugin>
        </plugins>
    

    您可以将上面的粘贴复制到您的 POM 并更改您机器的 XXX。只有以下 2 个条目是您从 env 获得的内容需要调整。 Dockertoolkit(Window 10 home) 需要 192.168.99.100 不像 windows 10 专业版的 127.0.0.1

    <name>vimalkrishna/abc-app</name>
    
    <dockerHost>tcp://192.168.99.100:2376</dockerHost>
    <certPath>C:\Users\XXX\.docker\machine\machines\default</certPath>
    

    就是这样,构建将成功。将您的用户名和密码放入本地配置文件中

    重要! Dickerfile 在您的应用程序中的位置是

    <dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir>
    

    表示在 src/main/

    中创建一个文件夹 docker

    【讨论】:

      猜你喜欢
      • 2019-07-02
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 2012-11-13
      • 2012-09-04
      • 1970-01-01
      • 2018-04-28
      相关资源
      最近更新 更多