Documentation ¶
Index ¶
- Constants
- type Cluster
- type Container
- type ContainerConfig
- type Containers
- type DriverOpts
- type Engine
- func (e *Engine) AddContainer(container *Container) error
- func (e *Engine) Connect(config *tls.Config) error
- func (e *Engine) ConnectWithClient(client dockerclient.Client) error
- func (e *Engine) Containers() Containers
- func (e *Engine) Create(config *ContainerConfig, name string, pullImage bool) (*Container, error)
- func (e *Engine) Disconnect()
- func (e *Engine) Image(IDOrName string) *Image
- func (e *Engine) Images() []*Image
- func (e *Engine) Import(source string, repository string, tag string, imageReader io.Reader) error
- func (e *Engine) IsHealthy() bool
- func (e *Engine) Load(reader io.Reader) error
- func (e *Engine) Pull(image string, authConfig *dockerclient.AuthConfig) error
- func (e *Engine) RefreshContainers(full bool) error
- func (e *Engine) RefreshImages() error
- func (e *Engine) RegisterEventHandler(h EventHandler) error
- func (e *Engine) RemoveContainer(container *Container, force bool) error
- func (e *Engine) RemoveImage(image *Image, name string) ([]*dockerclient.ImageDelete, error)
- func (e *Engine) RenameContainer(container *Container, newName string) error
- func (e *Engine) String() string
- func (e *Engine) TotalCpus() int64
- func (e *Engine) TotalMemory() int64
- func (e *Engine) UsedCpus() int64
- func (e *Engine) UsedMemory() int64
- type EngineSorter
- type Event
- type EventHandler
- type Image
Constants ¶
const SwarmLabelNamespace = "com.docker.swarm"
SwarmLabelNamespace defines the key prefix in all custom labels
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster interface { // Create a container CreateContainer(config *ContainerConfig, name string) (*Container, error) // Remove a container RemoveContainer(container *Container, force bool) error // Return all images Images() []*Image // Return one image matching `IDOrName` Image(IDOrName string) *Image // Remove images from the cluster RemoveImages(name string) ([]*dockerclient.ImageDelete, error) // Return all containers Containers() Containers // Return container the matching `IDOrName` // TODO: remove this method from the interface as we can use // cluster.Containers().Get(IDOrName) Container(IDOrName string) *Container // Pull images // `callback` can be called multiple time // `what` is what is being pulled // `status` is the current status, like "", "in progress" or "downloaded Pull(name string, authConfig *dockerclient.AuthConfig, callback func(what, status string)) // Import image // `callback` can be called multiple time // `what` is what is being imported // `status` is the current status, like "", "in progress" or "imported" Import(source string, repository string, tag string, imageReader io.Reader, callback func(what, status string)) // Load images // `callback` can be called multiple time // `what` is what is being loaded // `status` is the current status, like "", "in progress" or "loaded" Load(imageReader io.Reader, callback func(what, status string)) // Return some info about the cluster, like nb or containers / images // It is pretty open, so the implementation decides what to return. Info() [][]string // Return the total memory of the cluster TotalMemory() int64 // Return the number of CPUs in the cluster TotalCpus() int64 // Register an event handler for cluster-wide events. RegisterEventHandler(h EventHandler) error // FIXME: remove this method // Return a random engine RANDOMENGINE() (*Engine, error) // RenameContainer rename a container RenameContainer(container *Container, newName string) error }
Cluster is exported
type Container ¶
type Container struct { dockerclient.Container Config *ContainerConfig Info dockerclient.ContainerInfo Engine *Engine }
Container is exported
type ContainerConfig ¶ added in v0.3.0
type ContainerConfig struct {
dockerclient.ContainerConfig
}
ContainerConfig is exported TODO store affinities and constraints in their own fields
func BuildContainerConfig ¶ added in v0.3.0
func BuildContainerConfig(c dockerclient.ContainerConfig) *ContainerConfig
BuildContainerConfig creates a cluster.ContainerConfig from a dockerclient.ContainerConfig
func (*ContainerConfig) AddAffinity ¶ added in v0.4.0
func (c *ContainerConfig) AddAffinity(affinity string) error
AddAffinity to config
func (*ContainerConfig) Affinities ¶ added in v0.3.0
func (c *ContainerConfig) Affinities() []string
Affinities returns all the affinities from the ContainerConfig
func (*ContainerConfig) Constraints ¶ added in v0.3.0
func (c *ContainerConfig) Constraints() []string
Constraints returns all the constraints from the ContainerConfig
func (*ContainerConfig) SetSwarmID ¶ added in v0.3.0
func (c *ContainerConfig) SetSwarmID(id string)
SetSwarmID sets or overrides the Swarm ID in the Config.
func (*ContainerConfig) SwarmID ¶ added in v0.3.0
func (c *ContainerConfig) SwarmID() string
SwarmID extracts the Swarm ID from the Config. May return an empty string if not set.
type Containers ¶ added in v0.3.0
type Containers []*Container
Containers represents a list a containers
func (Containers) Get ¶ added in v0.3.0
func (containers Containers) Get(IDOrName string) *Container
Get returns a container using it's ID or Name
type DriverOpts ¶ added in v0.3.0
type DriverOpts []string
DriverOpts are key=values options
func (DriverOpts) Float ¶ added in v0.3.0
func (do DriverOpts) Float(key, env string) (float64, bool)
Float returns a float64 from the driver options
func (DriverOpts) IP ¶ added in v0.3.0
func (do DriverOpts) IP(key, env string) (net.IP, bool)
IP returns an IP address from the driver options
func (DriverOpts) Int ¶ added in v0.3.0
func (do DriverOpts) Int(key, env string) (int64, bool)
Int returns an int64 from the driver options
type Engine ¶ added in v0.3.0
type Engine struct { sync.RWMutex ID string IP string Addr string Name string Cpus int64 Memory int64 Labels map[string]string // contains filtered or unexported fields }
Engine represents a docker engine
func (*Engine) AddContainer ¶ added in v0.3.0
AddContainer inject a container into the internal state.
func (*Engine) Connect ¶ added in v0.3.0
Connect will initialize a connection to the Docker daemon running on the host, gather machine specs (memory, cpu, ...) and monitor state changes.
func (*Engine) ConnectWithClient ¶ added in v0.3.0
func (e *Engine) ConnectWithClient(client dockerclient.Client) error
ConnectWithClient is exported
func (*Engine) Containers ¶ added in v0.3.0
func (e *Engine) Containers() Containers
Containers returns all the containers in the engine.
func (*Engine) Disconnect ¶ added in v0.3.0
func (e *Engine) Disconnect()
Disconnect will stop all monitoring of the engine. The Engine object cannot be further used without reconnecting it first.
func (*Engine) Pull ¶ added in v0.3.0
func (e *Engine) Pull(image string, authConfig *dockerclient.AuthConfig) error
Pull an image on the engine
func (*Engine) RefreshContainers ¶ added in v0.3.0
RefreshContainers will refresh the list and status of containers running on the engine. If `full` is true, each container will be inspected. FIXME: unexport this method after mesos scheduler stops using it directly
func (*Engine) RefreshImages ¶ added in v0.3.0
RefreshImages refreshes the list of images on the engine.
func (*Engine) RegisterEventHandler ¶ added in v0.3.0
func (e *Engine) RegisterEventHandler(h EventHandler) error
RegisterEventHandler registers an event handler.
func (*Engine) RemoveContainer ¶ added in v0.3.0
RemoveContainer a container from the engine.
func (*Engine) RemoveImage ¶ added in v0.3.0
func (e *Engine) RemoveImage(image *Image, name string) ([]*dockerclient.ImageDelete, error)
RemoveImage deletes an image from the engine.
func (*Engine) RenameContainer ¶ added in v0.3.0
RenameContainer rename a container
func (*Engine) TotalMemory ¶ added in v0.3.0
TotalMemory returns the total memory + overcommit
func (*Engine) UsedMemory ¶ added in v0.3.0
UsedMemory returns the sum of memory reserved by containers.
type EngineSorter ¶ added in v0.3.0
type EngineSorter []*Engine
EngineSorter implements the Sort interface to sort Cluster.Engine. It is not guaranteed to be a stable sort.
func (EngineSorter) Len ¶ added in v0.3.0
func (s EngineSorter) Len() int
Len returns the number of engines to be sorted.
func (EngineSorter) Less ¶ added in v0.3.0
func (s EngineSorter) Less(i, j int) bool
Less reports whether the engine with index i should sort before the engine with index j. Engines are sorted chronologically by name.
func (EngineSorter) Swap ¶ added in v0.3.0
func (s EngineSorter) Swap(i, j int)
Swap exchanges the engine elements with indices i and j.