【问题标题】:Gradle Docker plugin broken pipe on osxosx上的Gradle Docker插件损坏的管道
【发布时间】:2015-12-03 15:10:05
【问题描述】:

您好,我尝试使用这个很棒的 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

【问题讨论】:

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


    【解决方案1】:

    Docker-machine 默认启用 TLS。我切换到TLSmode 应该是一个不错的解决方案:

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

    【讨论】:

      猜你喜欢
      • 2012-09-18
      • 2018-02-24
      • 2015-07-13
      • 2012-05-15
      • 1970-01-01
      • 2010-10-28
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多