无法执行目标io.fabric8:docker-maven-plugin:0.21.0:build window 10 home OR pro

集成Docker与Maven Docker Maven插件。 在Window 10家庭机器上,通过Maven获得Docker Run的问题。 用以下跟踪构build失败。

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] 

如果你在10号窗口,那么解决办法是:

我们正在做清洁的包装docker工人:build立目标

首先得到您的docker安装的环境variables

 $ 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已经在你的机器上,你可以validation安装过程中已经生成的具有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的pro版本的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> 

那就是所有,构build会成功。 把你的用户和密码放在本地configuration文件中

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

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

意思是在src / main /里面创build一个文件夹docker,

在这里输入图像说明