container

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2019 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CredentialsStore

func CredentialsStore(configFile configfile.ConfigFile) credentials.Store

CredentialsStore returns a new credentials store based on the settings provided in the configuration file.

func DefaultAuthHandler

func DefaultAuthHandler() (string, error)

DefaultAuthHandler will be invoked if an AuthConfig is rejected It could be used to return a new value for the "X-Registry-Auth" authentication header, but there's no point trying again with the same value as used in AuthConfig

func EncodeAuth

func EncodeAuth(auth types.AuthConfig) (string, error)

EncodeAuth Base64 encode an AuthConfig struct for transmission over HTTP

func EncodedAuth

func EncodedAuth(ref string) (string, error)

EncodedAuth returns an encoded auth config for the given registry loaded from environment variables or docker config as available in that order

func EncodedConfigAuth

func EncodedConfigAuth(ref string) (string, error)

EncodedConfigAuth returns an encoded auth config for the given registry loaded from the docker config Returns an empty string if credentials cannot be found for the referenced server The docker config must be mounted on the container

func EncodedEnvAuth

func EncodedEnvAuth(ref string) (string, error)

EncodedEnvAuth returns an encoded auth config for the given registry loaded from environment variables Returns an error if authentication environment variables have not been set

func ParseServerAddress

func ParseServerAddress(ref string) (string, error)

func WatchtowerContainersFilter added in v0.3.1

func WatchtowerContainersFilter(c FilterableContainer) bool

WatchtowerContainersFilter filters only watchtower containers

Types

type ByCreated

type ByCreated []Container

ByCreated allows a list of Container structs to be sorted by the container's created date.

func (ByCreated) Len

func (c ByCreated) Len() int

func (ByCreated) Less

func (c ByCreated) Less(i, j int) bool

Less will compare two elements (identified by index) in the Container list by created-date.

func (ByCreated) Swap

func (c ByCreated) Swap(i, j int)

type Client

type Client interface {
	ListContainers(Filter) ([]Container, error)
	StopContainer(Container, time.Duration) error
	StartContainer(Container) error
	RenameContainer(Container, string) error
	IsContainerStale(Container) (bool, error)
	RemoveImage(Container) error
}

A Client is the interface through which watchtower interacts with the Docker API.

func NewClient

func NewClient(pullImages bool) Client

NewClient returns a new Client instance which can be used to interact with the Docker API. The client reads its configuration from the following environment variables:

  • DOCKER_HOST the docker-engine host to send api requests to
  • DOCKER_TLS_VERIFY whether to verify tls certificates
  • DOCKER_API_VERSION the minimum docker api version to work with

type Container

type Container struct {
	Stale bool
	// contains filtered or unexported fields
}

Container represents a running Docker container.

func NewContainer

func NewContainer(containerInfo *types.ContainerJSON, imageInfo *types.ImageInspect) *Container

NewContainer returns a new Container instance instantiated with the specified ContainerInfo and ImageInfo structs.

func SortByDependencies

func SortByDependencies(containers []Container) ([]Container, error)

SortByDependencies will sort the list of containers taking into account any links between containers. Container with no outgoing links will be sorted to the front of the list while containers with links will be sorted after all of their dependencies. This sort order ensures that linked containers can be started in the correct order.

func (Container) Enabled added in v0.2.0

func (c Container) Enabled() (bool, bool)

Enabled returns the value of the container enabled label and if the label was set.

func (Container) ID

func (c Container) ID() string

ID returns the Docker container ID.

func (Container) ImageID

func (c Container) ImageID() string

ImageID returns the ID of the Docker image that was used to start the container.

func (Container) ImageName

func (c Container) ImageName() string

ImageName returns the name of the Docker image that was used to start the container. If the original image was specified without a particular tag, the "latest" tag is assumed.

func (Container) IsWatchtower

func (c Container) IsWatchtower() bool

IsWatchtower returns a boolean flag indicating whether or not the current container is the watchtower container itself. The watchtower container is identified by the presence of the "com.centurylinklabs.watchtower" label in the container metadata.

func (c Container) Links() []string

Links returns a list containing the names of all the containers to which this container is linked.

func (Container) Name

func (c Container) Name() string

Name returns the Docker container name.

func (Container) StopSignal

func (c Container) StopSignal() string

StopSignal returns the custom stop signal (if any) that is encoded in the container's metadata. If the container has not specified a custom stop signal, the empty string "" is returned.

type Filter

type Filter func(FilterableContainer) bool

A Filter is a prototype for a function that can be used to filter the results from a call to the ListContainers() method on the Client.

func BuildFilter added in v0.3.1

func BuildFilter(names []string, enableLabel bool) Filter

BuildFilter creates the needed filter of containers

type FilterableContainer added in v0.3.1

type FilterableContainer interface {
	Name() string
	IsWatchtower() bool
	Enabled() (bool, bool)
}

A FilterableContainer is the interface which is used to filter containers.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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