One*_*One 18
你必须实现自己的RoundTripper来支持unix套接字.
最简单的方法可能是使用http而不是unix套接字与docker进行通信.
编辑init脚本并添加-H tcp://127.0.0.1:xxxx,例如:
/usr/bin/docker -H tcp://127.0.0.1:9020
Run Code Online (Sandbox Code Playgroud)
您也可以伪造拨号功能并将其传递给传输:
func fakeDial(proto, addr string) (conn net.Conn, err error) {
return net.Dial("unix", sock)
}
tr := &http.Transport{
Dial: fakeDial,
}
client := &http.Client{Transport: tr}
resp, err := client.Get("http://d/test")
Run Code Online (Sandbox Code Playgroud)
只有一个小小的警告,你的所有client.Get/ .Post调用必须是一个有效的URL(http://xxxx.xxx/path不是unix://...),域名无关紧要,因为它不会用于连接.