我正在尝试学习如何使用maven、spring-boot和docker来创建web应用程序。我正在遵循这个指南:
https://spring.io/guides/gs/spring-boot-docker/
我设法将maven项目构建为这样的localhost,上面写着"Hello Docker World“。
然后我复制了Dockerfile并添加了额外的属性和插件。
<properties>
<java.version>1.8</java.version>
<docker.image.prefix>springio</docker.image.prefix>
</properties>..。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
</plugins>
</build>当执行mvn -N io.takeri:maven:wrapper来添加maven包装器时,我收到一个错误:Error resolving version for plugin 'io.takeri:maven from the repositories[...]: Plugin not found in any plugin repository -> [Help 1]
由于上面的命令已经在不同的尝试中起作用(没有docker),我检查了Help 1-link
https://cwiki.apache.org//confluence/display/maven/pluginresolutionexception
并向pom.xml添加了与其他项目相同的插件存储库。
事实证明,这是无效的。
在没有包装器的情况下执行项目(mvn install dockerfile:build)
给出一个跟踪,后跟一个很长的错误- MojoExecutionException和
error: Failed to execute goal com.spotify:dockerfile-maven-plugin:1.3.6:build
(default.cli) on project ...: Could not build image:
java.util.concurrent.ExecutionException:
com.spotify.docker.client.shader.javax.ws.rs.ProcessingException:
org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375
[localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused:
connect如何解决此问题?
Note1:我刚接触Maven Boot、Docker和Stackoverflow,请让我知道如何改进这篇文章或了解更多关于它们的信息。
Note2:我正在运行Windows10,并且计划使用Virtual Toolbox for Windows,并且成功地执行了本指南https://docs.docker.com/get-started/part2/
发布于 2017-11-20 00:55:00
我想知道你指的是什么存储库?takari插件和spotify插件在maven central中都可用,因此不需要在pom中配置存储库。还是你把它们添加到你的settings.xml里了?您可以尝试简单地从您的项目中删除存储库吗?
Maven区分了依赖项和插件。所以你有两个源(可以下载它们的存储库),也就是说存储库和pluginRepositories。现在的公司会使用镜像/代理,比如nexus或artifactory,所以区别不是直接可见的-你只需要配置镜像并将所有的存储库都指向那里。
因此,要使用插件,必须配置一个包含该插件的pluginRepository。请参见settings.xml文档。由于您只需要在maven central中使用默认配置,因此无需再做任何工作。所以只需从pom.xml或settings.xml中删除所有存储库
您得到的docker错误似乎与maven或插件无关,它只是无法与您的docker主机通信。也许移植是错误的,或者你正在运行一个与插件不兼容的docker版本,或者它没有运行?Docker for Windows可能会要求您使用expose the daemon without TLS。
希望这些内容能对您有所帮助:)
发布于 2017-12-02 05:58:34
我也有同样的问题。HttpHostConnectException你必须在你的机器上运行docker deamon。
发布于 2018-08-14 18:11:44
也许你可以配置环境变量。


https://stackoverflow.com/questions/47376791
复制相似问题