engine

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2013 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(name string, handler Handler) error

Types

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

The Engine is the core of Docker. It acts as a store for *containers*, and allows manipulation of these containers by executing *jobs*.

func New

func New(root string) (*Engine, error)

New initializes a new engine managing the directory specified at `root`. `root` is used to store containers and any other state private to the engine. Changing the contents of the root without executing a job will cause unspecified behavior.

func (*Engine) Hack_GetGlobalVar added in v0.6.7

func (eng *Engine) Hack_GetGlobalVar(key string) interface{}

func (*Engine) Hack_SetGlobalVar added in v0.6.7

func (eng *Engine) Hack_SetGlobalVar(key string, val interface{})

func (*Engine) Job

func (eng *Engine) Job(name string, args ...string) *Job

Job creates a new job which can later be executed. This function mimics `Command` from the standard os/exec package.

func (*Engine) Logf added in v0.6.7

func (eng *Engine) Logf(format string, args ...interface{}) (n int, err error)

func (*Engine) Register added in v0.6.7

func (eng *Engine) Register(name string, handler Handler) error

func (*Engine) Root added in v0.6.7

func (eng *Engine) Root() string

func (*Engine) String added in v0.6.7

func (eng *Engine) String() string

type Hack added in v0.6.7

type Hack map[string]interface{}

type Handler

type Handler func(*Job) string

type Job

type Job struct {
	Eng  *Engine
	Name string
	Args []string

	Stdin  io.Reader
	Stdout io.Writer
	Stderr io.Writer
	// contains filtered or unexported fields
}

A job is the fundamental unit of work in the docker engine. Everything docker can do should eventually be exposed as a job. For example: execute a process in a container, create a new container, download an archive from the internet, serve the http api, etc.

The job API is designed after unix processes: a job has a name, arguments, environment variables, standard streams for input, output and error, and an exit status which can indicate success (0) or error (anything else).

One slight variation is that jobs report their status as a string. The string "0" indicates success, and any other strings indicates an error. This allows for richer error reporting.

func (*Job) CallString added in v0.6.7

func (job *Job) CallString() string

func (*Job) DecodeEnv added in v0.6.7

func (job *Job) DecodeEnv(src io.Reader) error

DecodeEnv decodes `src` as a json dictionary, and adds each decoded key-value pair to the environment.

If `src` cannot be decoded as a json dictionary, an error is returned.

func (*Job) EncodeEnv added in v0.6.7

func (job *Job) EncodeEnv(dst io.Writer) error

func (*Job) Environ added in v0.6.7

func (job *Job) Environ() map[string]string

func (*Job) Errorf added in v0.6.7

func (job *Job) Errorf(format string, args ...interface{}) (n int, err error)

func (*Job) ExportEnv added in v0.6.7

func (job *Job) ExportEnv(dst interface{}) (err error)

func (*Job) Getenv

func (job *Job) Getenv(key string) (value string)

func (*Job) GetenvBool

func (job *Job) GetenvBool(key string) (value bool)

func (*Job) GetenvInt added in v0.6.7

func (job *Job) GetenvInt(key string) int64

func (*Job) GetenvList

func (job *Job) GetenvList(key string) []string

Returns nil if key not found

func (*Job) ImportEnv added in v0.6.7

func (job *Job) ImportEnv(src interface{}) (err error)

func (*Job) Logf added in v0.6.7

func (job *Job) Logf(format string, args ...interface{}) (n int, err error)

func (*Job) Printf added in v0.6.7

func (job *Job) Printf(format string, args ...interface{}) (n int, err error)

func (*Job) Run

func (job *Job) Run() error

Run executes the job and blocks until the job completes. If the job returns a failure status, an error is returned which includes the status.

func (*Job) Setenv

func (job *Job) Setenv(key, value string)

func (*Job) SetenvBool

func (job *Job) SetenvBool(key string, value bool)

func (*Job) SetenvInt added in v0.6.7

func (job *Job) SetenvInt(key string, value int64)

func (*Job) SetenvJson added in v0.6.7

func (job *Job) SetenvJson(key string, value interface{}) error

func (*Job) SetenvList

func (job *Job) SetenvList(key string, value []string) error

func (*Job) StatusString added in v0.6.7

func (job *Job) StatusString() string

func (*Job) StderrParseLines added in v0.6.7

func (job *Job) StderrParseLines(dst *[]string, limit int)

func (*Job) StderrParseString added in v0.6.7

func (job *Job) StderrParseString(dst *string)

func (*Job) StderrPipe added in v0.6.7

func (job *Job) StderrPipe() io.ReadCloser

func (*Job) StdoutParseLines added in v0.6.7

func (job *Job) StdoutParseLines(dst *[]string, limit int)

func (*Job) StdoutParseString added in v0.6.7

func (job *Job) StdoutParseString(dst *string)

func (*Job) StdoutPipe added in v0.6.7

func (job *Job) StdoutPipe() io.ReadCloser

func (*Job) String

func (job *Job) String() string

String returns a human-readable description of `job`

Jump to

Keyboard shortcuts

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