我正在尝试使用docker-maven-plugin(由 spotify 提供:https : //github.com/spotify/docker-maven-plugin提供)构建docker映像,但 实际上并没有解决问题。一开始我遇到了这个异常:
org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375
我发现必须创建一个环境。变量来解决这个问题 (https://github.com/spotify/docker-maven-plugin/issues/135):
set DOCKER_HOST=set DOCKER_HOST=tcp://192.168.99.100:2376
So after setting that env. variable I keep getting this ClientProtocolException:
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.3.258:build (default-cli) on project docker_micro_maven: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.client.ClientProtocolException: The server failed to respond with a valid HTTP response
我不知道如何解决此问题,我们将不胜感激。
您必须使用主机在2375端口上侦听来配置virtualbox端口转发:
> VBoxManage modifyvm "default" --natpf1 "guestssh,tcp,,2375,,2376"
guestsh是端口转发的名称,您可以选择名称。
如果 VBoxManage 无法识别,则可以用完整路径替换它:
VBoxManage
“pathVirtualBox\VBoxManage.exe”
然后,如果出现类似“服务器无法通过有效的HTTP响应进行响应”这样的问题,则将certs文件从 “%USER%.docker \ machines \ certs” 复制到“%USER%.docker”,从而 导致docker -maven-plugin在“%USER%.docker”中读取此文件(不要复制目录证书,仅复制文件)。
我认为我们可以重写Maven属性以替换端口2375和certs路径,但我仍然找不到它。