在osx上的Gradle Docker插件破管

时间:2015-12-03 15:10:05

标签: macos gradle docker docker-machine broken-pipe

您好我尝试使用这个很棒的Gradle插件:https://github.com/bmuschko/gradle-docker-plugin 我使用从osx上的docker-machine / kitematic安装获得的以下URL:

docker-machine url default
tcp://192.168.99.100:2376

然而使用:

url = "tcp://192.168.99.100:2376"

导致错误:

org.apache.http.conn.UnsupportedSchemeException: tcp protocol is not supported

当我将tcp更改为http时,我收到了另一个错误:

INFO org.apache.http.impl.execchain.RetryExec - I/O exception (java.net.SocketException) caught when processing request: Broken pipe
[pool-4-thread-1] ERROR com.github.dockerjava.core.async.ResultCallbackTemplate - Error during callback
org.apache.http.client.ClientProtocolException

如果运行gradle dockerBuildImage任务。 但是手动构建由gradle创建的Dockerfile没有任何问题。

以下代码可用于复制问题。 https://github.com/geoHeil/lab04/blob/master/build.gradle

1 个答案:

答案 0 :(得分:0)

Docker-machine默认启用TLS。我切换到TLS模式应该是一个很好的解决方案:

url = 'https://192.168.59.103:2376'
certPath = new File(System.properties['user.home'], '.boot2docker/certs/boot2docker-vm')