将Docker与Maven Docker Maven插件集成。我在第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]
答案 0 :(得分:4)
如果您在10号家中,解决方案是:
我们正在制作干净的包裹码头:构建为目标
首先获取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