Documentation ¶
Index ¶
- type Agent
- func (a *Agent) ConnectContainerToNetwork(networkID, containerID, containerName string) error
- func (a *Agent) CreateBridgeNetwork(name string) (id string, err error)
- func (a *Agent) CreateBridgeNetworkIfNotExist(name string) (id string, err error)
- func (a *Agent) CreateLocalVolume(name string) (*types.Volume, error)
- func (a *Agent) CreateLocalVolumeIfNotExist(name string) (*types.Volume, error)
- func (a *Agent) PullImage(image string) error
- func (a *Agent) StartPorterContainer(opts PorterStartOpts) (string, error)
- func (a *Agent) StartPostgresContainer(opts PostgresOpts) (string, error)
- func (a *Agent) StopPorterContainers() error
- func (a *Agent) WaitForContainerHealthy(id string, streak int) error
- func (a *Agent) WaitForContainerStop(id string) error
- type PorterStartOpts
- type PostgresOpts
- type PullImageEvent
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent struct {
// contains filtered or unexported fields
}
Agent is a Docker client for performing operations that interact with the Docker engine over REST
func NewAgentFromEnv ¶
NewAgentFromEnv creates a new Docker agent using the environment variables set on the host
func (*Agent) ConnectContainerToNetwork ¶
ConnectContainerToNetwork attaches a container to a specified network
func (*Agent) CreateBridgeNetwork ¶
CreateBridgeNetwork creates a volume using the default driver type (bridge) with the CLI label attached
func (*Agent) CreateBridgeNetworkIfNotExist ¶
CreateBridgeNetworkIfNotExist creates a volume using driver type "local" with the given name if it does not exist. If the volume does exist but does not contain the required label (a.label), an error is thrown.
func (*Agent) CreateLocalVolume ¶
CreateLocalVolume creates a volume using driver type "local" with no configured options. The equivalent of:
docker volume create --driver local [name]
func (*Agent) CreateLocalVolumeIfNotExist ¶
CreateLocalVolumeIfNotExist creates a volume using driver type "local" with the given name if it does not exist. If the volume does exist but does not contain the required label (a.label), an error is thrown.
func (*Agent) StartPorterContainer ¶
func (a *Agent) StartPorterContainer(opts PorterStartOpts) (string, error)
StartPorterContainer pulls a specific Porter image and starts a container using the Docker engine. It returns the container ID
func (*Agent) StartPostgresContainer ¶
func (a *Agent) StartPostgresContainer(opts PostgresOpts) (string, error)
StartPostgresContainer pulls a specific Porter image and starts a container using the Docker engine
func (*Agent) StopPorterContainers ¶
StopPorterContainers finds all containers that were started via the CLI and stops them without removal.
func (*Agent) WaitForContainerHealthy ¶
WaitForContainerHealthy waits until a container is returning a healthy status. Streak is the maximum number of failures in a row, while timeout is the length of time between checks.
func (*Agent) WaitForContainerStop ¶
WaitForContainerStop waits until a container has stopped to exit
type PorterStartOpts ¶
type PorterStartOpts struct { Name string Image string StartCmd []string HostPort uint ContainerPort uint Mounts []mount.Mount VolumeMap map[string]struct{} Env []string NetworkID string }
PorterStartOpts are the options for starting the Porter container
type PostgresOpts ¶
type PostgresOpts struct { Name string Image string Env []string VolumeMap map[string]struct{} Mounts []mount.Mount NetworkID string }
PostgresOpts are the options for starting the Postgres DB
type PullImageEvent ¶
type PullImageEvent struct { Status string `json:"status"` Error string `json:"error"` Progress string `json:"progress"` ProgressDetail struct { Current int `json:"current"` Total int `json:"total"` } `json:"progressDetail"` }
PullImageEvent represents a response from the Docker API with an image pull event