docker

package
v0.0.0-...-2a3d657 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2016 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Stdin represents standard input stream type.
	Stdin = StdType{0: 0}
	// Stdout represents standard output stream type.
	Stdout = StdType{0: 1}
	// Stderr represents standard error steam type.
	Stderr = StdType{0: 2}
)
View Source
var (
	ErrTimeout = errors.New("Timeout")
	ErrLogging = errors.New("Logs not available")
)

Functions

func StdCopy

func StdCopy(dstout, dsterr io.Writer, src io.Reader) (written int64, err error)

StdCopy is a modified version of io.Copy.

StdCopy will demultiplex `src`, assuming that it contains two streams, previously multiplexed together using a StdWriter instance. As it reads from `src`, StdCopy will write to `dstout` and `dsterr`.

StdCopy will read until it hits EOF on `src`. It will then return a nil error. In other words: if `err` is non nil, it indicates a real underlying error.

`written` will hold the total number of bytes written to `dstout` and `dsterr`.

Types

type Client

type Client struct {
	dockerclient.Client
	// contains filtered or unexported fields
}

Client is a wrapper around the default Docker client that tracks all created containers ensures some default configurations are in place.

func NewClient

func NewClient(docker dockerclient.Client) (*Client, error)

func (*Client) CreateContainer

func (c *Client) CreateContainer(conf *dockerclient.ContainerConfig, name string, auth *dockerclient.AuthConfig) (string, error)

CreateContainer creates a container and internally caches its container id.

func (*Client) Destroy

func (c *Client) Destroy() error

Destroy will terminate and destroy all containers that were created by this client.

func (*Client) StartContainer

func (c *Client) StartContainer(id string, conf *dockerclient.HostConfig) error

StartContainer starts a container and links to an ambassador container sharing the build machiens volume.

type StdType

type StdType [stdWriterPrefixLen]byte

StdType prefixes type and length to standard stream.

type StdWriter

type StdWriter struct {
	io.Writer
	// contains filtered or unexported fields
}

StdWriter is wrapper of io.Writer with extra customized info.

func NewStdWriter

func NewStdWriter(w io.Writer, t StdType) *StdWriter

NewStdWriter instantiates a new Writer. Everything written to it will be encapsulated using a custom format, and written to the underlying `w` stream. This allows multiple write streams (e.g. stdout and stderr) to be muxed into a single connection. `t` indicates the id of the stream to encapsulate. It can be stdcopy.Stdin, stdcopy.Stdout, stdcopy.Stderr.

func (*StdWriter) Write

func (w *StdWriter) Write(buf []byte) (n int, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL