helpers/docker/client.go (66 lines of code) (raw):

package docker import ( "context" "io" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/network" system "github.com/docker/docker/api/types/system" "github.com/docker/docker/api/types/volume" v1 "github.com/opencontainers/image-spec/specs-go/v1" ) type Client interface { ClientVersion() string ServerVersion(context.Context) (types.Version, error) ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) ImagePullBlocking(ctx context.Context, ref string, options image.PullOptions) error ImageImportBlocking( ctx context.Context, source image.ImportSource, ref string, options image.ImportOptions, ) error ImageLoad(ctx context.Context, input io.Reader, quiet bool) (image.LoadResponse, error) ImageTag(ctx context.Context, source string, target string) error ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error) ContainerCreate( ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *v1.Platform, containerName string) (container.CreateResponse, error) ContainerStart(ctx context.Context, containerID string, options container.StartOptions) error ContainerKill(ctx context.Context, containerID, signal string) error ContainerStop(ctx context.Context, containerID string, opions container.StopOptions) error ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) ContainerAttach( ctx context.Context, container string, options container.AttachOptions, ) (types.HijackedResponse, error) ContainerRemove(ctx context.Context, containerID string, options container.RemoveOptions) error ContainerWait( ctx context.Context, containerID string, condition container.WaitCondition, ) (<-chan container.WaitResponse, <-chan error) ContainerLogs(ctx context.Context, container string, options container.LogsOptions) (io.ReadCloser, error) ContainerExecCreate(ctx context.Context, container string, config container.ExecOptions) (types.IDResponse, error) ContainerExecAttach(ctx context.Context, execID string, config container.ExecStartOptions) (types.HijackedResponse, error) NetworkCreate( ctx context.Context, networkName string, options network.CreateOptions, ) (network.CreateResponse, error) NetworkRemove(ctx context.Context, networkID string) error NetworkDisconnect(ctx context.Context, networkID, containerID string, force bool) error NetworkList(ctx context.Context, options network.ListOptions) ([]network.Summary, error) NetworkInspect(ctx context.Context, networkID string) (network.Inspect, error) VolumeCreate(ctx context.Context, options volume.CreateOptions) (volume.Volume, error) VolumeRemove(ctx context.Context, volumeID string, force bool) error VolumeInspect(ctx context.Context, volumeID string) (volume.Volume, error) Info(ctx context.Context) (system.Info, error) Close() error }