Documentation
¶
Index ¶
- func IsErrCanceled(err error) bool
- func IsErrConflict(err error) bool
- func IsErrDataLoss(err error) bool
- func IsErrDeadlineExceeded(err error) bool
- func IsErrInternal(err error) bool
- func IsErrInvalidArgument(err error) bool
- func IsErrNotFound(err error) bool
- func IsErrNotImplemented(err error) bool
- func IsErrNotModified(err error) bool
- func IsErrPermissionDenied(err error) bool
- func IsErrUnauthorized(err error) bool
- func IsErrUnavailable(err error) bool
- func IsErrUnknown(err error) bool
- type Attach
- type BuildCachePrune
- type CheckpointCreate
- type CheckpointDelete
- type CheckpointList
- type Client
- func (c *Client) BuildCachePrune(ctx context.Context, opt *BuildCachePrune) (*response.BuildCachePrune, error)
- func (c *Client) BuildCancel(ctx context.Context, id string) error
- func (c *Client) ClientVersion() string
- func (c *Client) Close() error
- func (c *Client) ConfigCreate(ctx context.Context, opt *ConfigCreate) (string, error)
- func (c *Client) ConfigInspect(ctx context.Context, id string) (*response.SwarmConfig, error)
- func (c *Client) ConfigList(ctx context.Context, opt *ConfigList) ([]response.SwarmConfig, error)
- func (c *Client) ConfigRemove(ctx context.Context, id string) error
- func (c *Client) ConfigUpdate(ctx context.Context, id string, opt *ConfigUpdate) error
- func (c *Client) ContainerAttach(ctx context.Context, id string, opt *Attach) (*response.ContainerHijackedResponse, error)
- func (c *Client) ContainerCheckpointCreate(ctx context.Context, id string, opt *CheckpointCreate) error
- func (c *Client) ContainerCheckpointDelete(ctx context.Context, id string, opt *CheckpointDelete) error
- func (c *Client) ContainerCheckpointList(ctx context.Context, id string, opt *CheckpointList) ([]response.ContainerCheckpointSummary, error)
- func (c *Client) ContainerCommit(ctx context.Context, id string, opt *Commit) (*response.ContainerCommitResponse, error)
- func (c *Client) ContainerCopyFromContainer(ctx context.Context, id string, srcPath string) (io.ReadCloser, *response.ContainerPathStat, error)
- func (c *Client) ContainerCopyToContainer(ctx context.Context, id string, dstPath string, opt *CopyTo) error
- func (c *Client) ContainerCreate(ctx context.Context, created *containerkit.Container) (*response.ContainerCreate, error)
- func (c *Client) ContainerDiff(ctx context.Context, id string) ([]response.ContainerFilesystemChange, error)
- func (c *Client) ContainerExecAttach(ctx context.Context, execID string, opt *ExecAttach) (*response.ContainerHijackedResponse, error)
- func (c *Client) ContainerExecAttachTerminal(ctx context.Context, execID string, opt *ExecAttach) (*terminal.Session, error)
- func (c *Client) ContainerExecCreate(ctx context.Context, containerID string, opt *Exec) (*response.ContainerExecCreate, error)
- func (c *Client) ContainerExecInspect(ctx context.Context, id string) (*response.ContainerExecInspect, error)
- func (c *Client) ContainerExecResize(ctx context.Context, execID string, opt *Resize) error
- func (c *Client) ContainerExecStart(ctx context.Context, execID string, opt *ExecStart) error
- func (c *Client) ContainerExport(ctx context.Context, id string) (io.ReadCloser, error)
- func (c *Client) ContainerInspect(ctx context.Context, id string) (*response.ContainerInspect, error)
- func (c *Client) ContainerKill(ctx context.Context, id string, signal string) error
- func (c *Client) ContainerList(ctx context.Context, opt *List) ([]response.ContainerSummary, error)
- func (c *Client) ContainerLogs(ctx context.Context, id string, opt *Logs) (io.ReadCloser, error)
- func (c *Client) ContainerPause(ctx context.Context, id string) error
- func (c *Client) ContainerPrune(ctx context.Context, opt *Prune) (*response.ContainerPruneReport, error)
- func (c *Client) ContainerRemove(ctx context.Context, id string, opt *Remove) error
- func (c *Client) ContainerRename(ctx context.Context, id string, name string) error
- func (c *Client) ContainerResize(ctx context.Context, id string, opt *Resize) error
- func (c *Client) ContainerRestart(ctx context.Context, id string, opt *Stop) error
- func (c *Client) ContainerStart(ctx context.Context, id string, opt *Start) error
- func (c *Client) ContainerStatPath(ctx context.Context, id string, path string) (*response.ContainerPathStat, error)
- func (c *Client) ContainerStats(ctx context.Context, id string, stream bool) (*response.ContainerStatsReader, error)
- func (c *Client) ContainerStatsOneShot(ctx context.Context, id string) (*response.ContainerStatsOneShot, error)
- func (c *Client) ContainerStop(ctx context.Context, id string, opt *Stop) error
- func (c *Client) ContainerTop(ctx context.Context, id string, args ...string) (*response.ContainerTopResponse, error)
- func (c *Client) ContainerUnpause(ctx context.Context, id string) error
- func (c *Client) ContainerUpdate(ctx context.Context, id string, opt *Update) (*response.ContainerUpdateResponse, error)
- func (c *Client) ContainerWait(ctx context.Context, id string, condition WaitCondition) (<-chan response.ContainerWait, <-chan error)
- func (c *Client) ContainerWaitSync(ctx context.Context, id string, condition WaitCondition) error
- func (c *Client) DaemonHost() string
- func (c *Client) DialHijack(ctx context.Context, rawURL, proto string, meta map[string][]string) (net.Conn, error)
- func (c *Client) Dialer() func(context.Context) (net.Conn, error)
- func (c *Client) DiskUsage(ctx context.Context, opt *DiskUsage) (*response.DiskUsage, error)
- func (c *Client) DistributionInspect(ctx context.Context, ref string, opt *DistributionInspect) (*response.DistributionInspect, error)
- func (c *Client) Events(ctx context.Context, opt *EngineEvents) (<-chan response.EngineEvent, <-chan error)
- func (c *Client) ImageAttestations(ctx context.Context, ref string, opt *ImageAttestations) ([]response.ImageAttestation, error)
- func (c *Client) ImageBuild(ctx context.Context, context io.Reader, opt *ImageBuild) (*response.ImageBuild, error)
- func (c *Client) ImageCreate(ctx context.Context, ref string, opt *ImageCreate) (io.ReadCloser, error)
- func (c *Client) ImageHistory(ctx context.Context, ref string) ([]response.ImageHistoryItem, error)
- func (c *Client) ImageImport(ctx context.Context, ref string, opt *ImageImport) (io.ReadCloser, error)
- func (c *Client) ImageInspect(ctx context.Context, ref string, opt *ImageInspect) (*response.ImageInspect, error)
- func (c *Client) ImageList(ctx context.Context, opt *ImageList) ([]response.ImageSummary, error)
- func (c *Client) ImageLoad(ctx context.Context, opt *ImageLoad) (*response.ImageLoad, error)
- func (c *Client) ImagePull(ctx context.Context, ref string, opt *ImagePull) (io.ReadCloser, error)
- func (c *Client) ImagePush(ctx context.Context, ref string, opt *ImagePush) (io.ReadCloser, error)
- func (c *Client) ImageRemove(ctx context.Context, ref string, opt *ImageRemove) ([]response.ImageDelete, error)
- func (c *Client) ImageSave(ctx context.Context, opt *ImageSave) (io.ReadCloser, error)
- func (c *Client) ImageSearch(ctx context.Context, term string, opt *ImageSearch) ([]response.ImageSearchResult, error)
- func (c *Client) ImageTag(ctx context.Context, source, target string) error
- func (c *Client) ImagesPrune(ctx context.Context, opt *ImagePrune) (*response.PruneReport, error)
- func (c *Client) Info(ctx context.Context) (*response.Info, error)
- func (c *Client) NetworkConnect(ctx context.Context, networkID string, opt *NetworkConnect) error
- func (c *Client) NetworkCreate(ctx context.Context, name string, opt *NetworkCreate) (*response.NetworkCreate, error)
- func (c *Client) NetworkDisconnect(ctx context.Context, networkID string, containerID string, force bool) error
- func (c *Client) NetworkInspect(ctx context.Context, networkID string, opt *NetworkInspect) (*response.NetworkInspect, error)
- func (c *Client) NetworkList(ctx context.Context, opt *NetworkList) ([]*response.NetworkSummary, error)
- func (c *Client) NetworkRemove(ctx context.Context, networkID string) error
- func (c *Client) NetworksPrune(ctx context.Context, opt *NetworkPrune) (*response.NetworkPruneReport, error)
- func (c *Client) NodeInspect(ctx context.Context, id string) (*response.Node, error)
- func (c *Client) NodeList(ctx context.Context, opt *NodeList) ([]response.Node, error)
- func (c *Client) NodeRemove(ctx context.Context, id string, opt *NodeRemove) error
- func (c *Client) NodeUpdate(ctx context.Context, id string, opt *NodeUpdate) error
- func (c *Client) Ping(ctx context.Context, opt *Ping) (*response.Ping, error)
- func (c *Client) PluginCreate(ctx context.Context, createContext io.Reader, opt *PluginCreate) error
- func (c *Client) PluginDisable(ctx context.Context, name string, opt *PluginDisable) error
- func (c *Client) PluginEnable(ctx context.Context, name string, opt *PluginEnable) error
- func (c *Client) PluginInspect(ctx context.Context, name string) (*response.Plugin, error)
- func (c *Client) PluginInstall(ctx context.Context, name string, opt *PluginInstall) (io.ReadCloser, error)
- func (c *Client) PluginList(ctx context.Context, opt *PluginList) ([]response.Plugin, error)
- func (c *Client) PluginPush(ctx context.Context, name string, opt *PluginPush) (io.ReadCloser, error)
- func (c *Client) PluginRemove(ctx context.Context, name string, opt *PluginRemove) error
- func (c *Client) PluginSet(ctx context.Context, name string, opt *PluginSet) error
- func (c *Client) PluginUpgrade(ctx context.Context, name string, opt *PluginUpgrade) (io.ReadCloser, error)
- func (c *Client) RegistryLogin(ctx context.Context, creds auth.Auth) (*response.RegistryLogin, error)
- func (c *Client) SecretCreate(ctx context.Context, opt *SecretCreate) (string, error)
- func (c *Client) SecretInspect(ctx context.Context, id string) (*response.Secret, error)
- func (c *Client) SecretList(ctx context.Context, opt *SecretList) ([]response.Secret, error)
- func (c *Client) SecretRemove(ctx context.Context, id string) error
- func (c *Client) SecretUpdate(ctx context.Context, id string, opt *SecretUpdate) error
- func (c *Client) ServerVersion(ctx context.Context) (*response.ServerVersion, error)
- func (c *Client) ServiceCreate(ctx context.Context, opt *ServiceCreate) (*response.ServiceCreate, error)
- func (c *Client) ServiceInspect(ctx context.Context, id string, opt *ServiceInspect) (*response.Service, error)
- func (c *Client) ServiceList(ctx context.Context, opt *ServiceList) ([]response.Service, error)
- func (c *Client) ServiceLogs(ctx context.Context, id string, opt *ServiceLogs) (io.ReadCloser, error)
- func (c *Client) ServiceRemove(ctx context.Context, id string) error
- func (c *Client) ServiceUpdate(ctx context.Context, id string, opt *ServiceUpdate) (*response.ServiceUpdate, error)
- func (c *Client) SwarmGetUnlockKey(ctx context.Context) (string, error)
- func (c *Client) SwarmInit(ctx context.Context, opt *SwarmInit) (string, error)
- func (c *Client) SwarmInspect(ctx context.Context) (*response.Swarm, error)
- func (c *Client) SwarmJoin(ctx context.Context, opt *SwarmJoin) error
- func (c *Client) SwarmLeave(ctx context.Context, force bool) error
- func (c *Client) SwarmUnlock(ctx context.Context, opt *SwarmUnlock) error
- func (c *Client) SwarmUpdate(ctx context.Context, opt *SwarmUpdate) error
- func (c *Client) TaskInspect(ctx context.Context, id string) (*response.Task, error)
- func (c *Client) TaskList(ctx context.Context, opt *TaskList) ([]response.Task, error)
- func (c *Client) TaskLogs(ctx context.Context, id string, opt *TaskLogs) (io.ReadCloser, error)
- func (c *Client) Unwrap() *sdk.Client
- func (c *Client) VolumeCreate(ctx context.Context, opt *VolumeCreate) (*response.Volume, error)
- func (c *Client) VolumeInspect(ctx context.Context, name string) (*response.Volume, error)
- func (c *Client) VolumeInspectWithRaw(ctx context.Context, name string) (*response.Volume, []byte, error)
- func (c *Client) VolumeList(ctx context.Context, opt *VolumeList) (*response.VolumeList, error)
- func (c *Client) VolumeRemove(ctx context.Context, name string, force bool) error
- func (c *Client) VolumeUpdate(ctx context.Context, name string, swarmVersionIndex uint64, opt *VolumeUpdate) error
- func (c *Client) VolumesPrune(ctx context.Context, opt *VolumePrune) (*response.VolumePruneReport, error)
- type Commit
- type ConfigCreate
- type ConfigList
- type ConfigUpdate
- type CopyTo
- type DiskUsage
- type DistributionInspect
- type EngineEvents
- type Exec
- type ExecAttach
- type ExecStart
- type Filter
- type ImageAttestations
- type ImageBuild
- type ImageCreate
- type ImageImport
- type ImageInspect
- type ImageList
- type ImageLoad
- type ImagePrune
- type ImagePull
- type ImagePush
- type ImageRemove
- type ImageSave
- type ImageSearch
- type List
- type LogCopier
- type Logs
- type NetworkConnect
- type NetworkCreate
- type NetworkIPAM
- type NetworkIPAMConfig
- type NetworkInspect
- type NetworkList
- type NetworkPrune
- type NodeList
- type NodeRemove
- type NodeUpdate
- type Ping
- type PluginCreate
- type PluginDisable
- type PluginEnable
- type PluginInstall
- type PluginList
- type PluginPush
- type PluginRemove
- type PluginSet
- type PluginUpgrade
- type Prune
- type Remove
- type Resize
- type SecretCreate
- type SecretList
- type SecretUpdate
- type ServiceCreate
- type ServiceInspect
- type ServiceList
- type ServiceLogs
- type ServiceUpdate
- type SetClientOption
- func FromEnv() SetClientOption
- func WithAPIVersion(version string) SetClientOption
- func WithAPIVersionFromEnv() SetClientOption
- func WithAPIVersionNegotiation() SetClientOption
- func WithDialContext(dialContext func(ctx context.Context, network, addr string) (net.Conn, error)) SetClientOption
- func WithHTTPClient(httpClient *http.Client) SetClientOption
- func WithHTTPHeaders(headers map[string]string) SetClientOption
- func WithHost(host string) SetClientOption
- func WithHostFromEnv() SetClientOption
- func WithScheme(scheme string) SetClientOption
- func WithTLSClientConfig(cacertPath, certPath, keyPath string) SetClientOption
- func WithTLSClientConfigFromEnv() SetClientOption
- func WithTimeout(timeout time.Duration) SetClientOption
- func WithTraceOptions(opts ...otelhttp.Option) SetClientOption
- func WithTraceProvider(provider trace.TracerProvider) SetClientOption
- func WithUserAgent(userAgent string) SetClientOption
- type Start
- type Stop
- type SwarmInit
- type SwarmJoin
- type SwarmUnlock
- type SwarmUpdate
- type TaskList
- type TaskLogs
- type Update
- type VolumeCreate
- type VolumeList
- type VolumePrune
- type VolumeUpdate
- type WaitCondition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsErrCanceled ¶ added in v0.5.0
IsErrCanceled reports whether err is from a canceled context. It unwraps wrapped errors.
func IsErrConflict ¶ added in v0.5.0
IsErrConflict reports whether err is a Docker Engine conflict (HTTP 409), such as a name already in use or a container that is still running.
func IsErrDataLoss ¶ added in v0.5.0
IsErrDataLoss reports whether err is a Docker Engine data-loss error.
func IsErrDeadlineExceeded ¶ added in v0.5.0
IsErrDeadlineExceeded reports whether err is from a context deadline. It unwraps wrapped errors.
func IsErrInternal ¶ added in v0.5.0
IsErrInternal reports whether err is a Docker Engine internal error (HTTP 500).
func IsErrInvalidArgument ¶ added in v0.5.0
IsErrInvalidArgument reports whether err is a Docker Engine invalid-argument error (HTTP 400).
func IsErrNotFound ¶
IsErrNotFound reports whether err is a Docker Engine "not found" error (container, image, network, volume, and similar). It unwraps wrapped errors.
func IsErrNotImplemented ¶ added in v0.5.0
IsErrNotImplemented reports whether err is a Docker Engine not-implemented error (HTTP 501).
func IsErrNotModified ¶ added in v0.5.0
IsErrNotModified reports whether err is a Docker Engine not-modified error (HTTP 304).
func IsErrPermissionDenied ¶ added in v0.5.0
IsErrPermissionDenied reports whether err is a Docker Engine forbidden error (HTTP 403).
func IsErrUnauthorized ¶ added in v0.5.0
IsErrUnauthorized reports whether err is a Docker Engine authentication error (HTTP 401), including registry login failures.
func IsErrUnavailable ¶ added in v0.5.0
IsErrUnavailable reports whether err is a Docker Engine unavailable error (HTTP 503), such as a daemon that cannot be reached.
func IsErrUnknown ¶ added in v0.5.0
IsErrUnknown reports whether err is an unclassified Docker Engine error.
Types ¶
type BuildCachePrune ¶ added in v0.5.0
type BuildCachePrune struct {
All bool
ReservedSpace int64
MaxUsedSpace int64
MinFreeSpace int64
Filters []Filter
}
BuildCachePrune is options for BuildCachePrune. Space fields are byte counts.
type CheckpointCreate ¶
CheckpointCreate is options for ContainerCheckpointCreate.
type CheckpointDelete ¶
CheckpointDelete is options for ContainerCheckpointDelete.
type CheckpointList ¶
type CheckpointList struct {
CheckpointDir string
}
CheckpointList is options for ContainerCheckpointList.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a wrapper around the Docker Engine API client.
func NewClient ¶
func NewClient(setters ...SetClientOption) (*Client, error)
NewClient initializes a client. Nil options are skipped.
func (*Client) BuildCachePrune ¶ added in v0.5.0
func (c *Client) BuildCachePrune(ctx context.Context, opt *BuildCachePrune) (*response.BuildCachePrune, error)
BuildCachePrune deletes unused build-cache records.
func (*Client) BuildCancel ¶ added in v0.5.0
BuildCancel asks the daemon to cancel the build identified by id.
func (*Client) ClientVersion ¶ added in v0.5.0
ClientVersion returns the API version this client sends.
func (*Client) ConfigCreate ¶ added in v0.5.0
ConfigCreate creates a swarm config and returns its ID.
func (*Client) ConfigInspect ¶ added in v0.5.0
ConfigInspect returns one swarm config. Raw is the daemon's JSON body.
func (*Client) ConfigList ¶ added in v0.5.0
func (c *Client) ConfigList(ctx context.Context, opt *ConfigList) ([]response.SwarmConfig, error)
ConfigList returns swarm configs.
func (*Client) ConfigRemove ¶ added in v0.5.0
ConfigRemove removes a swarm config.
func (*Client) ConfigUpdate ¶ added in v0.5.0
ConfigUpdate updates a swarm config.
func (*Client) ContainerAttach ¶
func (c *Client) ContainerAttach(ctx context.Context, id string, opt *Attach) (*response.ContainerHijackedResponse, error)
ContainerAttach attaches a connection to a container in the server. It returns a hijacked connection and a reader to get output. It's up to the caller to close the hijacked connection.
The stream format on the response will be in one of two formats:
If the container is using a TTY, there is only a single stream (stdout), and data is copied directly from the container output stream, no extra multiplexing or headers.
If the container is *not* using a TTY, streams for stdout and stderr are multiplexed. The format of the multiplexed stream is as follows:
[8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}[]byte{OUTPUT}
STREAM_TYPE can be 1 for stdout and 2 for stderr
SIZE1, SIZE2, SIZE3, and SIZE4 are four bytes of uint32 encoded as big endian. This is the size of OUTPUT.
You can use github.com/moby/moby/api/pkg/stdcopy.StdCopy to demultiplex this stream.
func (*Client) ContainerCheckpointCreate ¶
func (c *Client) ContainerCheckpointCreate(ctx context.Context, id string, opt *CheckpointCreate) error
ContainerCheckpointCreate creates a checkpoint of a running container.
func (*Client) ContainerCheckpointDelete ¶
func (c *Client) ContainerCheckpointDelete(ctx context.Context, id string, opt *CheckpointDelete) error
ContainerCheckpointDelete deletes the checkpoint with the given name from the given container
func (*Client) ContainerCheckpointList ¶
func (c *Client) ContainerCheckpointList(ctx context.Context, id string, opt *CheckpointList) ([]response.ContainerCheckpointSummary, error)
ContainerCheckpointList returns the checkpoints of the given container in the docker host
func (*Client) ContainerCommit ¶
func (c *Client) ContainerCommit(ctx context.Context, id string, opt *Commit) (*response.ContainerCommitResponse, error)
ContainerCommit applies changes to a container and creates a new tagged image.
func (*Client) ContainerCopyFromContainer ¶
func (c *Client) ContainerCopyFromContainer(ctx context.Context, id string, srcPath string) (io.ReadCloser, *response.ContainerPathStat, error)
ContainerCopyFromContainer gets the content from the container and returns it as a Reader for a TAR archive to manipulate it in the host. It's up to the caller to close the reader.
func (*Client) ContainerCopyToContainer ¶
func (c *Client) ContainerCopyToContainer(ctx context.Context, id string, dstPath string, opt *CopyTo) error
ContainerCopyToContainer copies content into the container filesystem. Note that content must be a Reader for a TAR archive
func (*Client) ContainerCreate ¶
func (c *Client) ContainerCreate(ctx context.Context, created *containerkit.Container) (*response.ContainerCreate, error)
ContainerCreate creates a new container based on the given configuration. It can be associated with a name, but it's not mandatory.
func (*Client) ContainerDiff ¶
func (c *Client) ContainerDiff(ctx context.Context, id string) ([]response.ContainerFilesystemChange, error)
ContainerDiff returns the changes on a container's filesystem.
func (*Client) ContainerExecAttach ¶
func (c *Client) ContainerExecAttach(ctx context.Context, execID string, opt *ExecAttach) (*response.ContainerHijackedResponse, error)
ContainerExecAttach attaches a connection to an exec process in the server. It returns a hijacked connection and a reader to get output. It's up to the caller to close the hijacked connection.
func (*Client) ContainerExecAttachTerminal ¶
func (c *Client) ContainerExecAttachTerminal(ctx context.Context, execID string, opt *ExecAttach) (*terminal.Session, error)
ContainerExecAttachTerminal attaches to an exec session and returns a terminal session bound to os.Stdin and os.Stdout.
Call Session.Start to copy I/O. Session.Close restores the terminal and closes the hijacked connection. Close is safe when Start never runs, and Start closes the session before it returns.
func (*Client) ContainerExecCreate ¶
func (c *Client) ContainerExecCreate(ctx context.Context, containerID string, opt *Exec) (*response.ContainerExecCreate, error)
ContainerExecCreate creates a new exec configuration to run an exec process.
func (*Client) ContainerExecInspect ¶
func (c *Client) ContainerExecInspect(ctx context.Context, id string) (*response.ContainerExecInspect, error)
ContainerExecInspect returns information about a specific exec process on the docker host.
func (*Client) ContainerExecResize ¶
ContainerExecResize changes the size of the tty for an exec process running inside a container.
func (*Client) ContainerExecStart ¶
ContainerExecStart starts an exec process already created in the docker host.
func (*Client) ContainerExport ¶
ContainerExport retrieves the raw contents of a container and returns them as an io.ReadCloser. It's up to the caller to close the stream.
func (*Client) ContainerInspect ¶
func (c *Client) ContainerInspect(ctx context.Context, id string) (*response.ContainerInspect, error)
ContainerInspect returns the container information.
func (*Client) ContainerKill ¶
ContainerKill terminates the container process but does not remove the container from the docker host.
func (*Client) ContainerList ¶
ContainerList returns the list of containers in the docker host.
func (*Client) ContainerLogs ¶
ContainerLogs returns the logs generated by a container in an io.ReadCloser. It's up to the caller to close the stream.
The stream format on the response will be in one of two formats:
If the container is using a TTY, there is only a single stream (stdout), and data is copied directly from the container output stream, no extra multiplexing or headers.
If the container is *not* using a TTY, streams for stdout and stderr are multiplexed. The format of the multiplexed stream is as follows:
[8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}[]byte{OUTPUT}
STREAM_TYPE can be 1 for stdout and 2 for stderr
SIZE1, SIZE2, SIZE3, and SIZE4 are four bytes of uint32 encoded as big endian. This is the size of OUTPUT.
You can use github.com/moby/moby/api/pkg/stdcopy.StdCopy to demultiplex this stream.
func (*Client) ContainerPause ¶
ContainerPause pauses the main process of a given container without terminating it
func (*Client) ContainerPrune ¶
func (c *Client) ContainerPrune(ctx context.Context, opt *Prune) (*response.ContainerPruneReport, error)
ContainerPrune requests the daemon to delete unused data
func (*Client) ContainerRemove ¶
ContainerRemove kills and removes a container from the docker host.
func (*Client) ContainerRename ¶
ContainerRename changes the name or nickname of a container.
func (*Client) ContainerResize ¶
ContainerResize changes the size of the tty for a container.
func (*Client) ContainerRestart ¶
ContainerRestart stops and starts a container again. It makes the daemon wait for the container to be up again for a specific amount of time, given the timeout.
func (*Client) ContainerStart ¶
ContainerStart sends a request to the docker daemon to start a container.
func (*Client) ContainerStatPath ¶ added in v0.5.0
func (c *Client) ContainerStatPath(ctx context.Context, id string, path string) (*response.ContainerPathStat, error)
ContainerStatPath returns filesystem metadata for one path inside the container.
func (*Client) ContainerStats ¶
func (c *Client) ContainerStats(ctx context.Context, id string, stream bool) (*response.ContainerStatsReader, error)
ContainerStats returns near realtime stats for a given container. It's up to the caller to close the io.ReadCloser returned.
func (*Client) ContainerStatsOneShot ¶
func (c *Client) ContainerStatsOneShot(ctx context.Context, id string) (*response.ContainerStatsOneShot, error)
ContainerStatsOneShot gets a single stat entry from a container. It differs from ContainerStats in that the API does not wait to prime the stats.
func (*Client) ContainerStop ¶
ContainerStop stops a container. In case the container fails to stop gracefully within a time frame specified by the timeout argument, it is forcefully terminated (killed).
func (*Client) ContainerTop ¶
func (c *Client) ContainerTop(ctx context.Context, id string, args ...string) (*response.ContainerTopResponse, error)
ContainerTop shows process information from within a container.
func (*Client) ContainerUnpause ¶
ContainerUnpause resumes the process execution within a container
func (*Client) ContainerUpdate ¶
func (c *Client) ContainerUpdate(ctx context.Context, id string, opt *Update) (*response.ContainerUpdateResponse, error)
ContainerUpdate updates resources of a container.
func (*Client) ContainerWait ¶
func (c *Client) ContainerWait(ctx context.Context, id string, condition WaitCondition) (<-chan response.ContainerWait, <-chan error)
ContainerWait waits until the specified container is in a certain state indicated by the given condition, either "not-running" (default), "next-exit", or "removed".
ContainerWait blocks until the request has been acknowledged by the server (with a response header), then returns two channels on which the caller can wait for the exit status of the container or an error if there was a problem either beginning the wait request or in getting the response. This allows the caller to synchronize ContainerWait with other calls, such as specifying a "next-exit" condition before issuing a ContainerStart request.
func (*Client) ContainerWaitSync ¶
ContainerWaitSync blocks until the container reaches the desired state, an error occurs, or the context is cancelled.
Returns nil if the container completes successfully or if the context is cancelled, and returns a non-nil error only if the container fails or Docker reports an error.
func (*Client) DaemonHost ¶ added in v0.5.0
DaemonHost returns the daemon address configured on the client.
func (*Client) DialHijack ¶ added in v0.5.0
func (c *Client) DialHijack(ctx context.Context, rawURL, proto string, meta map[string][]string) (net.Conn, error)
DialHijack opens a hijacked connection. proto is the Upgrade protocol, such as "tcp". meta is copied onto the request headers.
func (*Client) Dialer ¶ added in v0.5.0
Dialer returns a dial function for a raw stream to the daemon.
func (*Client) DiskUsage ¶ added in v0.5.0
DiskUsage reports disk usage for the selected object types.
func (*Client) DistributionInspect ¶ added in v0.5.0
func (c *Client) DistributionInspect(ctx context.Context, ref string, opt *DistributionInspect) (*response.DistributionInspect, error)
DistributionInspect returns the image digest and manifest descriptor from the registry.
func (*Client) Events ¶ added in v0.5.0
func (c *Client) Events(ctx context.Context, opt *EngineEvents) (<-chan response.EngineEvent, <-chan error)
Events returns a stream of engine events. Cancel ctx to close the stream. The name is Engine-scoped so it does not collide with compose Events.
func (*Client) ImageAttestations ¶ added in v0.5.0
func (c *Client) ImageAttestations(ctx context.Context, ref string, opt *ImageAttestations) ([]response.ImageAttestation, error)
ImageAttestations returns in-toto statements attached to ref. This requires API 1.55.
func (*Client) ImageBuild ¶
func (c *Client) ImageBuild(ctx context.Context, context io.Reader, opt *ImageBuild) (*response.ImageBuild, error)
ImageBuild sends a request to the daemon to build images. The Body in the response implements an io.ReadCloser and it's up to the caller to close it.
func (*Client) ImageCreate ¶
func (c *Client) ImageCreate(ctx context.Context, ref string, opt *ImageCreate) (io.ReadCloser, error)
ImageCreate pulls ref and creates a local image. The engine no longer exposes a separate create call.
func (*Client) ImageHistory ¶
ImageHistory returns the changes in an image in history format.
func (*Client) ImageImport ¶
func (c *Client) ImageImport(ctx context.Context, ref string, opt *ImageImport) (io.ReadCloser, error)
ImageImport creates a new image based on the source options. It returns the JSON content in the response body.
func (*Client) ImageInspect ¶
func (c *Client) ImageInspect(ctx context.Context, ref string, opt *ImageInspect) (*response.ImageInspect, error)
ImageInspect returns the image information. Nil options inspect without manifest or platform filters.
func (*Client) ImageList ¶
ImageList returns a list of images in the docker host.
Setting Manifests populates image summaries with manifest information. Identity requires API 1.54 and includes image identity with the manifests.
func (*Client) ImageLoad ¶
ImageLoad loads an image in the docker host from the client host. It's up to the caller to close the io.ReadCloser in the ImageLoad response returned by this function.
Platforms selects which platforms to load from a multi-platform image.
func (*Client) ImagePull ¶
ImagePull requests the docker host to pull an image from a remote registry. It executes the privileged function if the operation is unauthorized and it tries one more time. It's up to the caller to handle the io.ReadCloser and close it properly.
func (*Client) ImagePush ¶
ImagePush requests the docker host to push an image to a remote registry. It executes the privileged function if the operation is unauthorized and it tries one more time. Nil options push with an empty auth header. It's up to the caller to handle the io.ReadCloser and close it properly.
func (*Client) ImageRemove ¶
func (c *Client) ImageRemove(ctx context.Context, ref string, opt *ImageRemove) ([]response.ImageDelete, error)
ImageRemove removes an image from the docker host.
func (*Client) ImageSave ¶
ImageSave retrieves one or more images from the docker host as an io.ReadCloser.
func (*Client) ImageSearch ¶
func (c *Client) ImageSearch(ctx context.Context, term string, opt *ImageSearch) ([]response.ImageSearchResult, error)
ImageSearch makes the docker host search by a term in a remote registry. The list of results is not sorted in any fashion.
func (*Client) ImagesPrune ¶
func (c *Client) ImagesPrune(ctx context.Context, opt *ImagePrune) (*response.PruneReport, error)
ImagesPrune requests the daemon to delete unused data.
func (*Client) NetworkConnect ¶
NetworkConnect connects a container to an existent network in the docker host.
func (*Client) NetworkCreate ¶
func (c *Client) NetworkCreate(ctx context.Context, name string, opt *NetworkCreate) (*response.NetworkCreate, error)
NetworkCreate creates a new network in the docker host.
func (*Client) NetworkDisconnect ¶
func (c *Client) NetworkDisconnect(ctx context.Context, networkID string, containerID string, force bool) error
NetworkDisconnect disconnects a container from an existent network in the docker host.
func (*Client) NetworkInspect ¶
func (c *Client) NetworkInspect(ctx context.Context, networkID string, opt *NetworkInspect) (*response.NetworkInspect, error)
NetworkInspect returns the information for a specific network configured in the docker host.
func (*Client) NetworkList ¶
func (c *Client) NetworkList(ctx context.Context, opt *NetworkList) ([]*response.NetworkSummary, error)
NetworkList returns the list of networks configured in the docker host.
func (*Client) NetworkRemove ¶
NetworkRemove removes an existent network from the docker host.
func (*Client) NetworksPrune ¶
func (c *Client) NetworksPrune(ctx context.Context, opt *NetworkPrune) (*response.NetworkPruneReport, error)
NetworksPrune requests the daemon to delete unused networks.
func (*Client) NodeInspect ¶ added in v0.5.0
NodeInspect returns one swarm node. Raw is the daemon's JSON body.
func (*Client) NodeRemove ¶ added in v0.5.0
NodeRemove removes a swarm node.
func (*Client) NodeUpdate ¶ added in v0.5.0
NodeUpdate updates a swarm node. Version must match the node's current object version.
func (*Client) PluginCreate ¶ added in v0.5.0
func (c *Client) PluginCreate(ctx context.Context, createContext io.Reader, opt *PluginCreate) error
PluginCreate creates a plugin from a local rootfs tar. createContext is that tar.
func (*Client) PluginDisable ¶ added in v0.5.0
PluginDisable disables a plugin.
func (*Client) PluginEnable ¶ added in v0.5.0
PluginEnable enables a plugin.
func (*Client) PluginInspect ¶ added in v0.5.0
PluginInspect returns one plugin. Raw is the daemon JSON.
func (*Client) PluginInstall ¶ added in v0.5.0
func (c *Client) PluginInstall(ctx context.Context, name string, opt *PluginInstall) (io.ReadCloser, error)
PluginInstall installs a plugin. The caller closes the progress stream.
func (*Client) PluginList ¶ added in v0.5.0
PluginList returns plugins installed on the engine.
func (*Client) PluginPush ¶ added in v0.5.0
func (c *Client) PluginPush(ctx context.Context, name string, opt *PluginPush) (io.ReadCloser, error)
PluginPush pushes a plugin to a registry. The caller closes the progress stream.
func (*Client) PluginRemove ¶ added in v0.5.0
PluginRemove removes a plugin.
func (*Client) PluginUpgrade ¶ added in v0.5.0
func (c *Client) PluginUpgrade(ctx context.Context, name string, opt *PluginUpgrade) (io.ReadCloser, error)
PluginUpgrade upgrades an installed plugin. The caller closes the progress stream.
func (*Client) RegistryLogin ¶ added in v0.5.0
func (c *Client) RegistryLogin(ctx context.Context, creds auth.Auth) (*response.RegistryLogin, error)
RegistryLogin authenticates against a registry.
func (*Client) SecretCreate ¶ added in v0.5.0
SecretCreate creates a swarm secret and returns its ID.
func (*Client) SecretInspect ¶ added in v0.5.0
SecretInspect returns one swarm secret. Raw is the daemon's JSON body.
func (*Client) SecretList ¶ added in v0.5.0
SecretList returns swarm secrets.
func (*Client) SecretRemove ¶ added in v0.5.0
SecretRemove removes a swarm secret.
func (*Client) SecretUpdate ¶ added in v0.5.0
SecretUpdate updates a swarm secret.
func (*Client) ServerVersion ¶ added in v0.5.0
ServerVersion returns the daemon version.
func (*Client) ServiceCreate ¶ added in v0.5.0
func (c *Client) ServiceCreate(ctx context.Context, opt *ServiceCreate) (*response.ServiceCreate, error)
ServiceCreate creates a swarm service.
func (*Client) ServiceInspect ¶ added in v0.5.0
func (c *Client) ServiceInspect(ctx context.Context, id string, opt *ServiceInspect) (*response.Service, error)
ServiceInspect returns one swarm service. Raw is the daemon's JSON body.
func (*Client) ServiceList ¶ added in v0.5.0
ServiceList returns swarm services.
func (*Client) ServiceLogs ¶ added in v0.5.0
func (c *Client) ServiceLogs(ctx context.Context, id string, opt *ServiceLogs) (io.ReadCloser, error)
ServiceLogs returns the logs of a swarm service. The caller closes the stream.
func (*Client) ServiceRemove ¶ added in v0.5.0
ServiceRemove removes a swarm service.
func (*Client) ServiceUpdate ¶ added in v0.5.0
func (c *Client) ServiceUpdate(ctx context.Context, id string, opt *ServiceUpdate) (*response.ServiceUpdate, error)
ServiceUpdate updates a swarm service.
func (*Client) SwarmGetUnlockKey ¶ added in v0.5.0
SwarmGetUnlockKey returns the swarm manager unlock key.
func (*Client) SwarmInspect ¶
SwarmInspect inspects the swarm.
func (*Client) SwarmLeave ¶
SwarmLeave leaves the swarm.
func (*Client) SwarmUnlock ¶ added in v0.5.0
func (c *Client) SwarmUnlock(ctx context.Context, opt *SwarmUnlock) error
SwarmUnlock unlocks a locked swarm manager.
func (*Client) SwarmUpdate ¶ added in v0.5.0
func (c *Client) SwarmUpdate(ctx context.Context, opt *SwarmUpdate) error
SwarmUpdate updates the swarm spec and can rotate tokens or the unlock key.
func (*Client) TaskInspect ¶ added in v0.5.0
TaskInspect returns one swarm task. Raw is the daemon's JSON body.
func (*Client) TaskLogs ¶ added in v0.5.0
TaskLogs returns the logs of one swarm task. The caller closes the stream.
func (*Client) VolumeCreate ¶
VolumeCreate creates a volume in the docker host.
func (*Client) VolumeInspect ¶
VolumeInspect returns the information about a specific volume in the docker host.
func (*Client) VolumeInspectWithRaw ¶
func (c *Client) VolumeInspectWithRaw(ctx context.Context, name string) (*response.Volume, []byte, error)
VolumeInspectWithRaw returns the information about a specific volume in the docker host and its raw representation.
func (*Client) VolumeList ¶
func (c *Client) VolumeList(ctx context.Context, opt *VolumeList) (*response.VolumeList, error)
VolumeList returns the volumes configured in the docker host.
func (*Client) VolumeRemove ¶
VolumeRemove removes a volume from the docker host.
func (*Client) VolumeUpdate ¶
func (c *Client) VolumeUpdate(ctx context.Context, name string, swarmVersionIndex uint64, opt *VolumeUpdate) error
VolumeUpdate updates a volume. This only works for Cluster Volumes, and only some fields can be updated.
func (*Client) VolumesPrune ¶
func (c *Client) VolumesPrune(ctx context.Context, opt *VolumePrune) (*response.VolumePruneReport, error)
VolumesPrune requests the daemon to delete unused data.
type Commit ¶
type Commit struct {
Reference string
Comment string
Author string
Changes []string
Pause bool
Config *containerkit.Container
}
Commit is options for ContainerCommit.
type ConfigCreate ¶ added in v0.5.0
type ConfigCreate struct {
Spec swarm.ConfigSpec
}
ConfigCreate is options for ConfigCreate.
type ConfigList ¶ added in v0.5.0
type ConfigList struct {
Filters []Filter
}
ConfigList is options for ConfigList.
type ConfigUpdate ¶ added in v0.5.0
type ConfigUpdate struct {
Version swarm.Version
Spec swarm.ConfigSpec
}
ConfigUpdate is options for ConfigUpdate.
type DiskUsage ¶ added in v0.5.0
DiskUsage selects which object types Client.DiskUsage reports. Nil options report containers, images, volumes, and build cache.
type DistributionInspect ¶ added in v0.5.0
DistributionInspect is options for DistributionInspect.
type EngineEvents ¶ added in v0.5.0
EngineEvents filters the engine event stream. Nil watches every event.
type Exec ¶
type Exec struct {
User string
Privileged bool
Tty bool
ConsoleWidth uint
ConsoleHeight uint
AttachStdin bool
AttachStderr bool
AttachStdout bool
DetachKeys string
Env []string
WorkingDir string
Command []string
}
Exec is options for ContainerExecCreate.
type ExecAttach ¶
ExecAttach is options for ContainerExecAttach and ContainerExecAttachTerminal.
type ImageAttestations ¶ added in v0.5.0
ImageAttestations is options for ImageAttestations. The daemon must support API 1.55.
type ImageBuild ¶
type ImageBuild struct {
sdk.ImageBuildOptions
}
ImageBuild is options for ImageBuild. Fields match the engine image build options.
type ImageCreate ¶
ImageCreate is options for ImageCreate. The engine creates the image by pulling ref.
type ImageImport ¶
type ImageImport struct {
Source io.Reader
SourceName string
Tag string
Message string
Changes []string
Platform string
}
ImageImport is options for ImageImport.
type ImageInspect ¶ added in v0.5.0
ImageInspect is options for ImageInspect. Nil options inspect the default platform manifest.
type ImagePrune ¶
type ImagePrune struct {
Filters []Filter
}
ImagePrune is options for ImagesPrune.
type ImagePull ¶
type ImagePull struct {
Auth auth.Auth
All bool
CurrentPlatform bool
Platform string
PrivilegeFunc func(ctx context.Context) (string, error)
}
ImagePull is options for ImagePull.
type ImagePush ¶ added in v0.5.0
type ImagePush struct {
Auth auth.Auth
All bool
Platform *ocispec.Platform
PrivilegeFunc func(ctx context.Context) (string, error)
}
ImagePush is options for ImagePush. Nil options push without registry auth.
type ImageRemove ¶
ImageRemove is options for ImageRemove.
type ImageSearch ¶
type ImageSearch struct {
Auth auth.Auth
PrivilegeFunc func(ctx context.Context) (string, error)
Filters []Filter
Limit int
}
ImageSearch is options for ImageSearch.
type List ¶
type List struct {
Size bool
All bool
Latest bool
Since string
Before string
Limit int
Filters []Filter
}
List is options for ContainerList. Latest sets Limit to 1 when Limit is 0. Since and Before are sent as filters.
type LogCopier ¶
type LogCopier struct {
// contains filtered or unexported fields
}
LogCopier provides methods to copy Docker container logs
func NewLogCopier ¶
NewLogCopier creates a new LogCopier instance for multiplexed streams If stderr is nil, it will use stdout for both streams
func (*LogCopier) Copy ¶
Copy copies the container log stream to the configured writers It handles Docker's multiplexed output format where stdout and stderr are combined with headers
func (*LogCopier) CopyWithPrefix ¶
func (lc *LogCopier) CopyWithPrefix(src io.Reader, stdoutPrefix, stderrPrefix string) (written int64, err error)
CopyWithPrefix copies the container log stream and adds prefixes to stdout and stderr This is useful when you want to distinguish between the two streams in the output
type Logs ¶
type Logs struct {
ShowStdout bool
ShowStderr bool
Since string
Until string
Timestamps bool
Follow bool
Tail string
Details bool
}
Logs is options for ContainerLogs.
type NetworkConnect ¶
type NetworkConnect struct {
Container string
Endpoint *network.EndpointSettings
}
NetworkConnect is options for NetworkConnect.
type NetworkCreate ¶
type NetworkCreate struct {
Driver string
Scope string
EnableIPv4 *bool
EnableIPv6 *bool
Internal bool
Attachable bool
Ingress bool
ConfigOnly bool
Options map[string]string
Labels map[string]string
IPAM *NetworkIPAM
}
NetworkCreate is options for NetworkCreate.
type NetworkIPAM ¶
type NetworkIPAM struct {
Driver string
Options map[string]string
Config []NetworkIPAMConfig
}
NetworkIPAM is IPAM configuration for NetworkCreate.
type NetworkIPAMConfig ¶
type NetworkIPAMConfig struct {
Subnet string
IPRange string
Gateway string
Auxiliary map[string]string
}
NetworkIPAMConfig is a single IPAM pool.
type NetworkInspect ¶
NetworkInspect is options for NetworkInspect.
type NetworkList ¶
type NetworkList struct {
Filters []Filter
}
NetworkList is options for NetworkList.
type NetworkPrune ¶
type NetworkPrune struct {
Filters []Filter
}
NetworkPrune is options for NetworksPrune.
type NodeList ¶ added in v0.5.0
type NodeList struct {
Filters []Filter
}
NodeList is options for NodeList.
type NodeRemove ¶ added in v0.5.0
type NodeRemove struct {
Force bool
}
NodeRemove is options for NodeRemove.
type NodeUpdate ¶ added in v0.5.0
NodeUpdate is options for NodeUpdate.
type Ping ¶ added in v0.5.0
Ping is options for Ping. Nil leaves API version negotiation to the client constructor.
type PluginCreate ¶ added in v0.5.0
type PluginCreate struct {
RepoName string
}
PluginCreate is options for PluginCreate.
type PluginDisable ¶ added in v0.5.0
type PluginDisable struct {
Force bool
}
PluginDisable is options for PluginDisable.
type PluginEnable ¶ added in v0.5.0
type PluginEnable struct {
Timeout int
}
PluginEnable is options for PluginEnable.
type PluginInstall ¶ added in v0.5.0
type PluginInstall struct {
Disabled bool
AcceptAllPermissions bool
Auth auth.Auth
RemoteRef string
PrivilegeFunc func(context.Context) (string, error)
AcceptPermissionsFunc func(context.Context, plugin.Privileges) (bool, error)
Args []string
}
PluginInstall is options for PluginInstall.
type PluginList ¶ added in v0.5.0
type PluginList struct {
Filters []Filter
}
PluginList is options for PluginList.
type PluginPush ¶ added in v0.5.0
PluginPush is options for PluginPush.
type PluginRemove ¶ added in v0.5.0
type PluginRemove struct {
Force bool
}
PluginRemove is options for PluginRemove.
type PluginSet ¶ added in v0.5.0
type PluginSet struct {
Args []string
}
PluginSet is options for PluginSet.
type PluginUpgrade ¶ added in v0.5.0
type PluginUpgrade struct {
Disabled bool
AcceptAllPermissions bool
Auth auth.Auth
RemoteRef string
PrivilegeFunc func(context.Context) (string, error)
AcceptPermissionsFunc func(context.Context, plugin.Privileges) (bool, error)
Args []string
}
PluginUpgrade is options for PluginUpgrade.
type SecretCreate ¶ added in v0.5.0
type SecretCreate struct {
Spec swarm.SecretSpec
}
SecretCreate is options for SecretCreate.
type SecretList ¶ added in v0.5.0
type SecretList struct {
Filters []Filter
}
SecretList is options for SecretList.
type SecretUpdate ¶ added in v0.5.0
type SecretUpdate struct {
Version swarm.Version
Spec swarm.SecretSpec
}
SecretUpdate is options for SecretUpdate.
type ServiceCreate ¶ added in v0.5.0
type ServiceCreate struct {
Spec swarm.ServiceSpec
Auth auth.Auth
QueryRegistry bool
}
ServiceCreate is options for ServiceCreate.
type ServiceInspect ¶ added in v0.5.0
type ServiceInspect struct {
InsertDefaults bool
}
ServiceInspect is options for ServiceInspect.
type ServiceList ¶ added in v0.5.0
ServiceList is options for ServiceList.
type ServiceLogs ¶ added in v0.5.0
type ServiceLogs struct {
ShowStdout bool
ShowStderr bool
Since string
Until string
Timestamps bool
Follow bool
Tail string
Details bool
}
ServiceLogs is options for ServiceLogs.
type ServiceUpdate ¶ added in v0.5.0
type ServiceUpdate struct {
Version swarm.Version
Spec swarm.ServiceSpec
Auth auth.Auth
RegistryAuthFrom swarm.RegistryAuthSource
Rollback string
QueryRegistry bool
}
ServiceUpdate is options for ServiceUpdate.
type SetClientOption ¶
SetClientOption is a configuration option to initialize a Client.
func FromEnv ¶
func FromEnv() SetClientOption
FromEnv configures the client with values from environment variables. It is the equivalent of using the WithTLSClientConfigFromEnv, WithHostFromEnv, and [WithVersionFromEnv] options.
FromEnv uses the following environment variables:
- DOCKER_HOST to set the URL to the docker server.
- DOCKER_API_VERSION to set the version of the API to use, leave empty for latest.
- DOCKER_CERT_PATH to specify the directory from which to load the TLS certificates ("ca.pem", "cert.pem", "key.pem").
- DOCKER_TLS_VERIFY to enable or disable TLS verification (off by default).
func WithAPIVersion ¶ added in v0.5.0
func WithAPIVersion(version string) SetClientOption
WithAPIVersion overrides the client version with the specified one. If an empty version is provided, the value is ignored to allow version negotiation (see WithAPIVersionNegotiation).
func WithAPIVersionFromEnv ¶ added in v0.5.0
func WithAPIVersionFromEnv() SetClientOption
WithAPIVersionFromEnv overrides the client version with the version specified in the DOCKER_API_VERSION environment variable. If DOCKER_API_VERSION is not set, or set to an empty value, the version is not modified.
func WithAPIVersionNegotiation ¶
func WithAPIVersionNegotiation() SetClientOption
WithAPIVersionNegotiation leaves the API version unset so the client negotiates with the daemon.
func WithDialContext ¶
func WithDialContext(dialContext func(ctx context.Context, network, addr string) (net.Conn, error)) SetClientOption
WithDialContext applies the dialer to the client transport. This can be used to set the Timeout and KeepAlive settings of the client. It returns an error if the client does not have an http.Transport configured.
func WithHTTPClient ¶
func WithHTTPClient(httpClient *http.Client) SetClientOption
WithHTTPClient overrides the client's HTTP client with the specified one.
func WithHTTPHeaders ¶
func WithHTTPHeaders(headers map[string]string) SetClientOption
WithHTTPHeaders appends custom HTTP headers to the client's default headers. It does not allow for built-in headers (such as "User-Agent", if set) to be overridden. Also see WithUserAgent.
func WithHost ¶
func WithHost(host string) SetClientOption
WithHost overrides the client host with the specified one.
func WithHostFromEnv ¶
func WithHostFromEnv() SetClientOption
WithHostFromEnv overrides the client host with the host specified in the DOCKER_HOST environment variable. If DOCKER_HOST is not set, or set to an empty value, the host is not modified.
func WithScheme ¶
func WithScheme(scheme string) SetClientOption
WithScheme overrides the client scheme with the specified one.
func WithTLSClientConfig ¶
func WithTLSClientConfig(cacertPath, certPath, keyPath string) SetClientOption
WithTLSClientConfig applies a TLS config to the client transport.
func WithTLSClientConfigFromEnv ¶
func WithTLSClientConfigFromEnv() SetClientOption
WithTLSClientConfigFromEnv configures the client's TLS settings with the settings in the DOCKER_CERT_PATH and DOCKER_TLS_VERIFY environment variables. If DOCKER_CERT_PATH is not set or empty, TLS configuration is not modified.
func WithTimeout ¶
func WithTimeout(timeout time.Duration) SetClientOption
WithTimeout configures the time limit for requests made by the HTTP client.
func WithTraceOptions ¶
func WithTraceOptions(opts ...otelhttp.Option) SetClientOption
WithTraceOptions sets tracing span options for the client.
func WithTraceProvider ¶
func WithTraceProvider(provider trace.TracerProvider) SetClientOption
WithTraceProvider sets the trace provider for the client. If this is not set then the global trace provider will be used.
func WithUserAgent ¶
func WithUserAgent(userAgent string) SetClientOption
WithUserAgent configures the User-Agent header to use for HTTP requests. It overrides any User-Agent set in headers. When set to an empty string, the User-Agent header is removed, and no header is sent.
type SwarmInit ¶
type SwarmInit struct {
ListenAddr string
AdvertiseAddr string
DataPathAddr string
DataPathPort uint32
ForceNewCluster bool
Spec swarm.Spec
AutoLockManagers bool
Availability swarm.NodeAvailability
DefaultAddrPool []string
SubnetSize uint32
}
SwarmInit is options for SwarmInit.
type SwarmJoin ¶
type SwarmJoin struct {
ListenAddr string
AdvertiseAddr string
DataPathAddr string
RemoteAddrs []string
JoinToken string
Availability swarm.NodeAvailability
}
SwarmJoin is options for SwarmJoin.
type SwarmUnlock ¶ added in v0.5.0
type SwarmUnlock struct {
Key string
}
SwarmUnlock is options for SwarmUnlock.
type SwarmUpdate ¶ added in v0.5.0
type SwarmUpdate struct {
Version swarm.Version
Spec swarm.Spec
RotateWorkerToken bool
RotateManagerToken bool
RotateManagerUnlockKey bool
}
SwarmUpdate is options for SwarmUpdate.
type TaskList ¶ added in v0.5.0
type TaskList struct {
Filters []Filter
}
TaskList is options for TaskList.
type TaskLogs ¶ added in v0.5.0
type TaskLogs struct {
ShowStdout bool
ShowStderr bool
Since string
Until string
Timestamps bool
Follow bool
Tail string
Details bool
}
TaskLogs is options for TaskLogs.
type Update ¶
type Update struct {
RestartPolicy containerkit.RestartPolicy
RestartMaxRetry int
Memory int64
NanoCPUs int64
CgroupParent string
BlkioWeight uint16
BlkioWeightDevice []*blkiodev.WeightDevice
BlkioDeviceReadBps []*blkiodev.ThrottleDevice
BlkioDeviceWriteBps []*blkiodev.ThrottleDevice
BlkioDeviceReadIOps []*blkiodev.ThrottleDevice
BlkioDeviceWriteIOps []*blkiodev.ThrottleDevice
CPUPeriod int64
CPUQuota int64
CPURealtimePeriod int64
CPURealtimeRuntime int64
CpusetCpus string
CpusetMems string
Devices []container.DeviceMapping
DeviceCgroupRules []string
DeviceRequests []container.DeviceRequest
MemoryReservation int64
MemorySwap int64
MemorySwappiness *int64
OomKillDisable *bool
PidsLimit *int64
Ulimits []*units.Ulimit
CPUCount int64
CPUPercent int64
IOMaximumIOps uint64
IOMaximumBandwidth uint64
}
Update is options for ContainerUpdate. Resource fields match Docker's update config.
type VolumeCreate ¶
type VolumeCreate struct {
Name string
Driver string
DriverOpts map[string]string
Labels map[string]string
ClusterVolumeSpec *volume.ClusterVolumeSpec
}
VolumeCreate is options for VolumeCreate.
type VolumePrune ¶
VolumePrune is options for VolumesPrune.
type VolumeUpdate ¶
type VolumeUpdate struct {
ClusterVolumeSpec *volume.ClusterVolumeSpec
}
VolumeUpdate is options for VolumeUpdate.
type WaitCondition ¶
type WaitCondition string
WaitCondition is a container state to wait for.
const ( WaitConditionNotRunning WaitCondition = "not-running" WaitConditionNextExit WaitCondition = "next-exit" WaitConditionRemoved WaitCondition = "removed" )
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package response provides thin wrappers around the docker client response types.
|
Package response provides thin wrappers around the docker client response types. |
|
Package terminal attaches a local terminal to a hijacked container stream.
|
Package terminal attaches a local terminal to a hijacked container stream. |