Documentation
¶
Index ¶
- Constants
- type Address
- type BuildOptions
- type Client
- type Config
- type Container
- type ContainerLogsOptions
- type ContainerState
- type CreateNetworkOptions
- type CreateVolumeOptions
- type DefaultNetworkSettings
- type EndpointSettings
- type ExecOptions
- type GetContainerOptions
- type Health
- type HealthLog
- type HostConfig
- type LogConfig
- type LogInOptions
- type MockDockerClient
- func (mdc *MockDockerClient) AwaitContainerHealth(containerID string, timeout *time.Duration) error
- func (mdc *MockDockerClient) Build(buildOptions *BuildOptions) error
- func (mdc *MockDockerClient) CopyObjectsFromImage(imageName string, objectsToCopy map[string]string, allowCopyErrors bool) error
- func (mdc *MockDockerClient) CopyObjectsToContainer(containerName string, objectsToCopy map[string]string) error
- func (mdc *MockDockerClient) CreateNetwork(options *CreateNetworkOptions) error
- func (mdc *MockDockerClient) CreateVolume(options *CreateVolumeOptions) error
- func (mdc *MockDockerClient) DeleteNetwork(networkName string) error
- func (mdc *MockDockerClient) DeleteVolume(volumeName string) error
- func (mdc *MockDockerClient) ExecInContainer(containerID string, execOptions *ExecOptions) error
- func (mdc *MockDockerClient) GetContainerEvents(containerName string, since string, until string) ([]string, error)
- func (mdc *MockDockerClient) GetContainerIPAddresses(containerID string) ([]string, error)
- func (mdc *MockDockerClient) GetContainerLogStream(ctx context.Context, containerID string, logOptions *ContainerLogsOptions) (io.ReadCloser, error)
- func (mdc *MockDockerClient) GetContainerLogs(containerID string) (string, error)
- func (mdc *MockDockerClient) GetContainerNetworkSettings(containerID string) (*NetworkSettings, error)
- func (mdc *MockDockerClient) GetContainerPort(container *Container, boundPort int) (int, error)
- func (mdc *MockDockerClient) GetContainers(options *GetContainerOptions) ([]Container, error)
- func (mdc *MockDockerClient) GetVersion(quiet bool) (string, error)
- func (mdc *MockDockerClient) Load(inPath string) error
- func (mdc *MockDockerClient) LogIn(options *LogInOptions) error
- func (mdc *MockDockerClient) PullImage(imageURL string) error
- func (mdc *MockDockerClient) PushImage(imageName string, registryURL string) error
- func (mdc *MockDockerClient) RemoveContainer(containerID string) error
- func (mdc *MockDockerClient) RemoveImage(imageName string) error
- func (mdc *MockDockerClient) RunContainer(imageName string, runOptions *RunOptions) (string, error)
- func (mdc *MockDockerClient) Save(imageName string, outPath string) error
- func (mdc *MockDockerClient) StartContainer(containerID string) error
- func (mdc *MockDockerClient) StopContainer(containerID string) error
- type MountPoint
- type NetworkSettings
- type NetworkSettingsBase
- type Port
- type PortBinding
- type PortMap
- type PortSet
- type RestartPolicy
- type RestartPolicyName
- type RunOptions
- type ShellClient
- func (c *ShellClient) AwaitContainerHealth(containerID string, timeout *time.Duration) error
- func (c *ShellClient) Build(buildOptions *BuildOptions) error
- func (c *ShellClient) CopyObjectsFromImage(imageName string, objectsToCopy map[string]string, allowCopyErrors bool) error
- func (c *ShellClient) CopyObjectsToContainer(containerName string, objectsToCopy map[string]string) error
- func (c *ShellClient) CreateNetwork(options *CreateNetworkOptions) error
- func (c *ShellClient) CreateVolume(options *CreateVolumeOptions) error
- func (c *ShellClient) DeleteNetwork(networkName string) error
- func (c *ShellClient) DeleteVolume(volumeName string) error
- func (c *ShellClient) ExecInContainer(containerID string, execOptions *ExecOptions) error
- func (c *ShellClient) GetContainerEvents(containerName string, since string, until string) ([]string, error)
- func (c *ShellClient) GetContainerIPAddresses(containerID string) ([]string, error)
- func (c *ShellClient) GetContainerLogStream(ctx context.Context, containerID string, logOptions *ContainerLogsOptions) (io.ReadCloser, error)
- func (c *ShellClient) GetContainerLogs(containerID string) (string, error)
- func (c *ShellClient) GetContainerNetworkSettings(containerID string) (*NetworkSettings, error)
- func (c *ShellClient) GetContainerPort(container *Container, boundPort int) (int, error)
- func (c *ShellClient) GetContainers(options *GetContainerOptions) ([]Container, error)
- func (c *ShellClient) GetVersion(quiet bool) (string, error)
- func (c *ShellClient) Load(inPath string) error
- func (c *ShellClient) LogIn(options *LogInOptions) error
- func (c *ShellClient) PullImage(imageURL string) error
- func (c *ShellClient) PushImage(imageName string, registryURL string) error
- func (c *ShellClient) RemoveContainer(containerID string) error
- func (c *ShellClient) RemoveImage(imageName string) error
- func (c *ShellClient) RunContainer(imageName string, runOptions *RunOptions) (string, error)
- func (c *ShellClient) Save(imageName string, outPath string) error
- func (c *ShellClient) StartContainer(containerID string) error
- func (c *ShellClient) StopContainer(containerID string) error
- type StrSlice
Constants ¶
const ( // RunOptionsRandomPort urge docker shell client not to map an explicit source port (but rather a random one) RunOptionsRandomPort int = -1 // RunOptionsNoPort urge docker shell client not to map any port RunOptionsNoPort int = -2 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildOptions ¶
type BuildOptions struct {
Image string
ContextDir string
DockerfilePath string
NoCache bool
Pull bool
BuildArgs map[string]string
BuildFlags map[string]bool
}
BuildOptions are options for building a docker image
type Client ¶
type Client interface {
// Build will build a docker image, given build options
Build(buildOptions *BuildOptions) error
// CopyObjectsFromImage copies objects (files, directories) from a given image to local storage. it does
// this through an intermediate container which is deleted afterwards
CopyObjectsFromImage(imageName string, objectsToCopy map[string]string, allowCopyErrors bool) error
// CopyObjectsToContainer copies objects (files, directories) from a local storage to a container
// objectToCopy is a map where keys are local storage path and values are container paths
CopyObjectsToContainer(containerName string, objectsToCopy map[string]string) error
// PushImage pushes a local image to a remote docker repository
PushImage(imageName string, registryURL string) error
// PullImage pulls an image from a remote docker repository
PullImage(imageURL string) error
// RemoveImage will remove (delete) a local image
RemoveImage(imageName string) error
// RunContainer will run a container based on an image and run options
RunContainer(imageName string, runOptions *RunOptions) (string, error)
// ExecInContainer will run a command in a container
ExecInContainer(containerID string, execOptions *ExecOptions) error
// RemoveContainer removes a container given a container ID
RemoveContainer(containerID string) error
// StopContainer removes a container given a container ID
StopContainer(containerID string) error
// StartContainer starts a container given a container ID
StartContainer(containerID string) error
// GetContainerPort returns container port
GetContainerPort(container *Container, boundPort int) (int, error)
// GetContainerLogs returns raw logs from a given container ID
GetContainerLogs(containerID string) (string, error)
// GetContainers returns a list of containers which match a certain criteria
GetContainers(*GetContainerOptions) ([]Container, error)
// GetContainerEvents returns a list of container events which occurred within a time range
GetContainerEvents(containerName string, since string, until string) ([]string, error)
// AwaitContainerHealth blocks until the given container is healthy or the timeout passes
AwaitContainerHealth(containerID string, timeout *time.Duration) error
// LogIn allows docker client to access secured registries
LogIn(options *LogInOptions) error
// CreateNetwork creates a docker network
CreateNetwork(*CreateNetworkOptions) error
// GetContainerNetworkSettings returns container network settings
GetContainerNetworkSettings(containerID string) (*NetworkSettings, error)
// DeleteNetwork deletes a docker network
DeleteNetwork(networkName string) error
// CreateVolume create a docker volume
CreateVolume(*CreateVolumeOptions) error
// DeleteVolume delete a docker volume
DeleteVolume(volumeName string) error
// Save saves a docker image as tar in specified path
Save(imageName string, outPath string) error
// Load loads a docker image from tar as cached image
Load(inPath string) error
// GetVersion returns docker client and engine versions
GetVersion(quiet bool) (string, error)
// GetContainerIPAddresses return list of container ip addresses
GetContainerIPAddresses(containerID string) ([]string, error)
// GetContainerLogStream return container log stream
GetContainerLogStream(ctx context.Context, containerID string, logOptions *ContainerLogsOptions) (io.ReadCloser, error)
}
type Config ¶
type Config struct {
Hostname string // Hostname
Domainname string // Domainname
User string // User that will run the command(s) inside the container, also support user:group
AttachStdin bool // Attach the standard input, makes possible user interaction
AttachStdout bool // Attach the standard output
AttachStderr bool // Attach the standard error
Tty bool // Attach standard streams to a tty, including stdin if it is not closed.
OpenStdin bool // Open stdin
StdinOnce bool // If true, close stdin after the 1 attached client disconnects.
Env []string // List of environment variable to set in the container
Cmd StrSlice // Command to run when starting the container
Image string // Name of the image as it was passed by the operator (e.g. could be symbolic)
Volumes map[string]struct{} // List of volumes (mounts) used for the container
WorkingDir string // Current directory (PWD) in the command will be launched
Entrypoint StrSlice // Entrypoint to run when starting the container
OnBuild []string // ONBUILD metadata that were defined on the image Dockerfile
Labels map[string]string // List of labels set to this container
}
Config contains the configuration data about a container. It should hold only portable information about the container. Here, "portable" means "independent from the host we are running on". Non-portable information *should* appear in HostConfig. All fields added to this struct must be marked `omitempty` to keep getting predictable hashes from the old `v1Compatibility` configuration.
type Container ¶
type Container struct {
ID string `json:"Id"`
Created string
Path string
Args []string
State *ContainerState
Image string
ResolvConfPath string
HostnamePath string
HostsPath string
LogPath string
Name string
RestartCount int
Driver string
Platform string
MountLabel string
ProcessLabel string
AppArmorProfile string
ExecIDs []string
HostConfig *HostConfig
Mounts []MountPoint
Config *Config
NetworkSettings *NetworkSettings
}
Container contains response of Engine API: GET "/containers/{name:.*}/json"
type ContainerLogsOptions ¶
type ContainerLogsOptions struct {
ShowStdout bool
ShowStderr bool
Since string
Until string
Timestamps bool
Follow bool
Tail string
Details bool
}
ContainerLogsOptions holds parameters to filter logs with https://github.com/moby/moby/blob/v20.10.6/api/types/client.go#L73
type ContainerState ¶
type ContainerState struct {
Status string // String representation of the container state. Can be one of "created", "running", "paused", "restarting", "removing", "exited", or "dead"
Running bool
Paused bool
Restarting bool
OOMKilled bool
Dead bool
Pid int
ExitCode int
Error string
StartedAt string
FinishedAt string
Health *Health
}
ContainerState stores container's running state it's part of ContainerJSONBase and will return by "inspect" command
type CreateNetworkOptions ¶
type CreateNetworkOptions struct {
Name string
}
CreateNetworkOptions are options for creating a network
type CreateVolumeOptions ¶
type CreateVolumeOptions struct {
Name string
}
CreateVolumeOptions are options for creating a volume
type DefaultNetworkSettings ¶
type DefaultNetworkSettings struct {
EndpointID string // EndpointID uniquely represents a service endpoint in a Sandbox
Gateway string // Gateway holds the gateway address for the network
GlobalIPv6Address string // GlobalIPv6Address holds network's global IPv6 address
GlobalIPv6PrefixLen int // GlobalIPv6PrefixLen represents mask length of network's global IPv6 address
IPAddress string // IPAddress holds the IPv4 address for the network
IPPrefixLen int // IPPrefixLen represents mask length of network's IPv4 address
IPv6Gateway string // IPv6Gateway holds gateway address specific for IPv6
MacAddress string // MacAddress holds the MAC address for the network
}
DefaultNetworkSettings holds network information during the 2 release deprecation period. It will be removed in Docker 1.11.
type EndpointSettings ¶
type EndpointSettings struct {
// Configurations
Links []string
Aliases []string
// Operational data
NetworkID string
EndpointID string
Gateway string
IPAddress string
IPPrefixLen int
IPv6Gateway string
GlobalIPv6Address string
GlobalIPv6PrefixLen int
MacAddress string
DriverOpts map[string]string
}
EndpointSettings stores the network endpoint details
type ExecOptions ¶
ExecOptions are options for executing a command in a container
type GetContainerOptions ¶
GetContainerOptions are options for container search
type HostConfig ¶
type HostConfig struct {
// Applicable to all platforms
Binds []string // List of volume bindings for this container
ContainerIDFile string // File (path) where the containerId is written
LogConfig LogConfig // Configuration of the logs for this container
NetworkMode string // Network mode to use for the container
PortBindings PortMap // Port mapping between the exposed port (container) and the host
RestartPolicy RestartPolicy // Restart policy to be used for the container
AutoRemove bool // Automatically remove container when it exits
VolumeDriver string // Name of the volume driver used to mount volumes
VolumesFrom []string // List of volumes to take from other container
// Applicable to UNIX platforms
CapAdd StrSlice // List of kernel capabilities to add to the container
CapDrop StrSlice // List of kernel capabilities to remove from the container
DNS []string `json:"Dns"` // List of DNS server to lookup
DNSOptions []string `json:"DnsOptions"` // List of DNSOption to look for
DNSSearch []string `json:"DnsSearch"` // List of DNSSearch to look for
ExtraHosts []string // List of extra hosts
GroupAdd []string // List of additional groups that the container process will run as
IpcMode string // IPC namespace to use for the container
Cgroup string // Cgroup to use for the container
Links []string // List of links (in the name:alias form)
OomScoreAdj int // Container preference for OOM-killing
PidMode string // PID namespace to use for the container
Privileged bool // Is the container in privileged mode
PublishAllPorts bool // Should docker publish all exposed port for the container
ReadonlyRootfs bool // Is the container root filesystem in read-only
SecurityOpt []string // List of string values to customize labels for MLS systems, such as SELinux.
StorageOpt map[string]string `json:",omitempty"` // Storage driver options per container.
Tmpfs map[string]string `json:",omitempty"` // List of tmpfs (mounts) used for the container
UTSMode string // UTS namespace to use for the container
UsernsMode string // The user namespace to use for the container
ShmSize int64 // Total shm memory usage
Sysctls map[string]string `json:",omitempty"` // List of Namespaced sysctls used for the container
Runtime string `json:",omitempty"` // Runtime to use with this container
// Applicable to Windows
ConsoleSize [2]uint // Initial console size (height,width)
Isolation string // Isolation technology of the container (e.g. default, hyperv)
// Run a custom init inside the container, if null, use the daemon's configured settings
Init *bool `json:",omitempty"`
}
HostConfig the non-portable Config structure of a container. Here, "non-portable" means "dependent of the host we are running on". Portable information *should* appear in Config.
type LogInOptions ¶
LogInOptions are options for logging in
type MockDockerClient ¶
func NewMockDockerClient ¶
func NewMockDockerClient() *MockDockerClient
func (*MockDockerClient) AwaitContainerHealth ¶
func (mdc *MockDockerClient) AwaitContainerHealth(containerID string, timeout *time.Duration) error
AwaitContainerHealth blocks until the given container is healthy or the timeout passes
func (*MockDockerClient) Build ¶
func (mdc *MockDockerClient) Build(buildOptions *BuildOptions) error
Build will build a docker image, given build options
func (*MockDockerClient) CopyObjectsFromImage ¶
func (mdc *MockDockerClient) CopyObjectsFromImage(imageName string, objectsToCopy map[string]string, allowCopyErrors bool) error
CopyObjectsFromImage copies objects (files, directories) from a given image to local storage. it does this through an intermediate container which is deleted afterwards
func (*MockDockerClient) CopyObjectsToContainer ¶
func (mdc *MockDockerClient) CopyObjectsToContainer(containerName string, objectsToCopy map[string]string) error
CopyObjectsToContainer copies objects (files, directories) from a local storage to a container objectToCopy is a map where keys are local storage path and values are container paths
func (*MockDockerClient) CreateNetwork ¶
func (mdc *MockDockerClient) CreateNetwork(options *CreateNetworkOptions) error
CreateNetwork creates a docker network
func (*MockDockerClient) CreateVolume ¶
func (mdc *MockDockerClient) CreateVolume(options *CreateVolumeOptions) error
CreateVolume creates a docker volume
func (*MockDockerClient) DeleteNetwork ¶
func (mdc *MockDockerClient) DeleteNetwork(networkName string) error
DeleteNetwork deletes a docker network
func (*MockDockerClient) DeleteVolume ¶
func (mdc *MockDockerClient) DeleteVolume(volumeName string) error
DeleteVolume deletes a docker volume
func (*MockDockerClient) ExecInContainer ¶
func (mdc *MockDockerClient) ExecInContainer(containerID string, execOptions *ExecOptions) error
ExecInContainer will run a command in a container
func (*MockDockerClient) GetContainerEvents ¶
func (mdc *MockDockerClient) GetContainerEvents(containerName string, since string, until string) ([]string, error)
GetContainerEvents returns a list of container events which occurred within a time range
func (*MockDockerClient) GetContainerIPAddresses ¶
func (mdc *MockDockerClient) GetContainerIPAddresses(containerID string) ([]string, error)
func (*MockDockerClient) GetContainerLogStream ¶
func (mdc *MockDockerClient) GetContainerLogStream(ctx context.Context, containerID string, logOptions *ContainerLogsOptions) (io.ReadCloser, error)
func (*MockDockerClient) GetContainerLogs ¶
func (mdc *MockDockerClient) GetContainerLogs(containerID string) (string, error)
GetContainerLogs returns raw logs from a given container ID
func (*MockDockerClient) GetContainerNetworkSettings ¶
func (mdc *MockDockerClient) GetContainerNetworkSettings(containerID string) (*NetworkSettings, error)
func (*MockDockerClient) GetContainerPort ¶
func (mdc *MockDockerClient) GetContainerPort(container *Container, boundPort int) (int, error)
func (*MockDockerClient) GetContainers ¶
func (mdc *MockDockerClient) GetContainers(options *GetContainerOptions) ([]Container, error)
GetContainers returns a list of container IDs which match a certain criteria
func (*MockDockerClient) GetVersion ¶
func (mdc *MockDockerClient) GetVersion(quiet bool) (string, error)
func (*MockDockerClient) Load ¶
func (mdc *MockDockerClient) Load(inPath string) error
Load loads a docker image from path
func (*MockDockerClient) LogIn ¶
func (mdc *MockDockerClient) LogIn(options *LogInOptions) error
LogIn allows docker client to access secured registries
func (*MockDockerClient) PullImage ¶
func (mdc *MockDockerClient) PullImage(imageURL string) error
PullImage pulls an image from a remote docker repository
func (*MockDockerClient) PushImage ¶
func (mdc *MockDockerClient) PushImage(imageName string, registryURL string) error
PushImage pushes a local image to a remote docker repository
func (*MockDockerClient) RemoveContainer ¶
func (mdc *MockDockerClient) RemoveContainer(containerID string) error
RemoveContainer removes a container given a container ID
func (*MockDockerClient) RemoveImage ¶
func (mdc *MockDockerClient) RemoveImage(imageName string) error
RemoveImage will remove (delete) a local image
func (*MockDockerClient) RunContainer ¶
func (mdc *MockDockerClient) RunContainer(imageName string, runOptions *RunOptions) (string, error)
RunContainer will run a container based on an image and run options
func (*MockDockerClient) Save ¶
func (mdc *MockDockerClient) Save(imageName string, outPath string) error
Save saves a docker image in path
func (*MockDockerClient) StartContainer ¶
func (mdc *MockDockerClient) StartContainer(containerID string) error
StartContainer stops a container given a container ID
func (*MockDockerClient) StopContainer ¶
func (mdc *MockDockerClient) StopContainer(containerID string) error
StopContainer stops a container given a container ID
type MountPoint ¶
type MountPoint struct {
Source string
Destination string
Mode string
RW bool
Type string
Driver string
Name string
}
MountPoint represents a mount point configuration inside the container. This is used for reporting the mountpoints in use by a container.
type NetworkSettings ¶
type NetworkSettings struct {
NetworkSettingsBase
DefaultNetworkSettings
Networks map[string]*EndpointSettings
}
NetworkSettings exposes the network settings in the api
type NetworkSettingsBase ¶
type NetworkSettingsBase struct {
Bridge string // Bridge is the Bridge name the network uses(e.g. `docker0`)
SandboxID string // SandboxID uniquely represents a container's network stack
HairpinMode bool // HairpinMode specifies if hairpin NAT should be enabled on the virtual interface
LinkLocalIPv6Address string // LinkLocalIPv6Address is an IPv6 unicast address using the link-local prefix
LinkLocalIPv6PrefixLen int // LinkLocalIPv6PrefixLen is the prefix length of an IPv6 unicast address
Ports PortMap // Ports is a collection of PortBinding indexed by Port
SandboxKey string // SandboxKey identifies the sandbox
SecondaryIPAddresses []Address
SecondaryIPv6Addresses []Address
}
NetworkSettingsBase holds basic information about networks
type Port ¶
type Port string
Port is a string containing port number and protocol in the format "80/tcp"
type PortBinding ¶
type PortBinding struct {
// HostIP is the host IP Address
HostIP string `json:"HostIp"`
// HostPort is the host port number
HostPort string
}
PortBinding represents a binding between a Host IP address and a Host Port
type PortMap ¶
type PortMap map[Port][]PortBinding
PortMap is a collection of PortBinding indexed by Port
type RestartPolicy ¶
type RestartPolicy struct {
Name RestartPolicyName
MaximumRetryCount int
}
RestartPolicy represents the restart policies of the container.
type RestartPolicyName ¶
type RestartPolicyName string
const ( RestartPolicyNameUnlessStopped RestartPolicyName = "unless-stopped" RestartPolicyNameAlways RestartPolicyName = "always" RestartPolicyNameNo RestartPolicyName = "no" RestartPolicyNameOnFailure RestartPolicyName = "on-failure" )
type RunOptions ¶
type RunOptions struct {
Ports map[int]int
ContainerName string
Env map[string]string
Labels map[string]string
Volumes map[string]string
Remove bool
Command string
Stdout *string
Stderr *string
Attach bool
ImageMayNotExist bool
Network string
RestartPolicy *RestartPolicy
GPUs string
CPUs string
Memory string
MountPoints []MountPoint
RunAsUser *int64
RunAsGroup *int64
FSGroup *int64
Devices []string
}
RunOptions are options for running a docker image
type ShellClient ¶
type ShellClient struct {
// contains filtered or unexported fields
}
ShellClient is a docker client that uses the shell to communicate with docker
func NewShellClient ¶
NewShellClient creates a new docker client
func (*ShellClient) AwaitContainerHealth ¶
func (c *ShellClient) AwaitContainerHealth(containerID string, timeout *time.Duration) error
AwaitContainerHealth blocks until the given container is healthy or the timeout passes
func (*ShellClient) Build ¶
func (c *ShellClient) Build(buildOptions *BuildOptions) error
Build will build a docker image, given build options
func (*ShellClient) CopyObjectsFromImage ¶
func (c *ShellClient) CopyObjectsFromImage(imageName string, objectsToCopy map[string]string, allowCopyErrors bool) error
CopyObjectsFromImage copies objects (files, directories) from a given image to local storage. it does this through an intermediate container which is deleted afterwards
func (*ShellClient) CopyObjectsToContainer ¶
func (c *ShellClient) CopyObjectsToContainer(containerName string, objectsToCopy map[string]string) error
CopyObjectsToContainer copies objects (files, directories) from a local storage to a container objectToCopy is a map where keys are local storage path and values are container paths
func (*ShellClient) CreateNetwork ¶
func (c *ShellClient) CreateNetwork(options *CreateNetworkOptions) error
CreateNetwork creates a docker network
func (*ShellClient) CreateVolume ¶
func (c *ShellClient) CreateVolume(options *CreateVolumeOptions) error
CreateVolume creates a docker volume
func (*ShellClient) DeleteNetwork ¶
func (c *ShellClient) DeleteNetwork(networkName string) error
DeleteNetwork deletes a docker network
func (*ShellClient) DeleteVolume ¶
func (c *ShellClient) DeleteVolume(volumeName string) error
DeleteVolume deletes a docker volume
func (*ShellClient) ExecInContainer ¶
func (c *ShellClient) ExecInContainer(containerID string, execOptions *ExecOptions) error
ExecInContainer will run a command in a container
func (*ShellClient) GetContainerEvents ¶
func (c *ShellClient) GetContainerEvents(containerName string, since string, until string) ([]string, error)
GetContainerEvents returns a list of container events which occurred within a time range
func (*ShellClient) GetContainerIPAddresses ¶
func (c *ShellClient) GetContainerIPAddresses(containerID string) ([]string, error)
func (*ShellClient) GetContainerLogStream ¶
func (c *ShellClient) GetContainerLogStream(ctx context.Context, containerID string, logOptions *ContainerLogsOptions) (io.ReadCloser, error)
func (*ShellClient) GetContainerLogs ¶
func (c *ShellClient) GetContainerLogs(containerID string) (string, error)
GetContainerLogs returns raw logs from a given container ID Concatenating stdout and stderr since there's no way to re-interlace them
func (*ShellClient) GetContainerNetworkSettings ¶
func (c *ShellClient) GetContainerNetworkSettings(containerID string) (*NetworkSettings, error)
GetContainerNetworkSettings returns container network settings
func (*ShellClient) GetContainerPort ¶
func (c *ShellClient) GetContainerPort(container *Container, boundPort int) (int, error)
func (*ShellClient) GetContainers ¶
func (c *ShellClient) GetContainers(options *GetContainerOptions) ([]Container, error)
GetContainers returns a list of container IDs which match a certain criteria
func (*ShellClient) GetVersion ¶
func (c *ShellClient) GetVersion(quiet bool) (string, error)
func (*ShellClient) Load ¶
func (c *ShellClient) Load(inPath string) error
func (*ShellClient) LogIn ¶
func (c *ShellClient) LogIn(options *LogInOptions) error
LogIn allows docker client to access secured registries
func (*ShellClient) PullImage ¶
func (c *ShellClient) PullImage(imageURL string) error
PullImage pulls an image from a remote docker repository
func (*ShellClient) PushImage ¶
func (c *ShellClient) PushImage(imageName string, registryURL string) error
PushImage pushes a local image to a remote docker repository
func (*ShellClient) RemoveContainer ¶
func (c *ShellClient) RemoveContainer(containerID string) error
RemoveContainer removes a container given a container ID
func (*ShellClient) RemoveImage ¶
func (c *ShellClient) RemoveImage(imageName string) error
RemoveImage will remove (delete) a local image
func (*ShellClient) RunContainer ¶
func (c *ShellClient) RunContainer(imageName string, runOptions *RunOptions) (string, error)
RunContainer will run a container based on an image and run options
func (*ShellClient) StartContainer ¶
func (c *ShellClient) StartContainer(containerID string) error
StartContainer stops a container given a container ID
func (*ShellClient) StopContainer ¶
func (c *ShellClient) StopContainer(containerID string) error
StopContainer stops a container given a container ID
type StrSlice ¶
type StrSlice []string
StrSlice represents a string or an array of strings. We need to override the json decoder to accept both options.
func (*StrSlice) UnmarshalJSON ¶
UnmarshalJSON decodes the byte slice whether it's a string or an array of strings. This method is needed to implement json.Unmarshaler.