mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* update fsouza bindings to get https://github.com/fsouza/go-dockerclient/pull/776 * add memory swappiness setting to 0 without this, is vm.swappiness is not turned off, then it allows containers to use unlimited (up to host max) anonymous swap space on the host. this behavior is not what we want, particularly for getting tests to pass on everybody's dev environment, but we don't really want this behavior in any case. * fix pids
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
// Copyright 2016 go-dockerclient authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package docker
|
|
|
|
import (
|
|
"context"
|
|
"net"
|
|
"net/http"
|
|
"time"
|
|
|
|
winio "github.com/Microsoft/go-winio"
|
|
)
|
|
|
|
const (
|
|
defaultHost = "npipe:////./pipe/docker_engine"
|
|
namedPipeConnectTimeout = 2 * time.Second
|
|
)
|
|
|
|
type pipeDialer struct {
|
|
dialFunc func(network, addr string) (net.Conn, error)
|
|
}
|
|
|
|
func (p pipeDialer) Dial(network, address string) (net.Conn, error) {
|
|
return p.dialFunc(network, address)
|
|
}
|
|
|
|
// initializeNativeClient initializes the native Named Pipe client for Windows
|
|
func (c *Client) initializeNativeClient(trFunc func() *http.Transport) {
|
|
if c.endpointURL.Scheme != namedPipeProtocol {
|
|
return
|
|
}
|
|
namedPipePath := c.endpointURL.Path
|
|
dialFunc := func(network, addr string) (net.Conn, error) {
|
|
timeout := namedPipeConnectTimeout
|
|
return winio.DialPipe(namedPipePath, &timeout)
|
|
}
|
|
tr := trFunc()
|
|
tr.Proxy = nil
|
|
tr.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) {
|
|
return dialFunc(network, addr)
|
|
}
|
|
c.Dialer = &pipeDialer{dialFunc}
|
|
c.HTTPClient.Transport = tr
|
|
}
|