Documentation
¶
Overview ¶
Package container provides functionality for managing Docker containers.
Index ¶
- func IsErrContainerConflict(err error) bool
- type ArchiveOptions
- type ChangeItem
- type CommitOptions
- type CreateOptions
- type ExecOptions
- type ExecResult
- type InspectionOptions
- type Inspector
- func (i *Inspector) CountContainers(ctx context.Context, opts InspectionOptions) (int, error)
- func (i *Inspector) GetContainer(ctx context.Context, idOrName string) (*models.Container, error)
- func (i *Inspector) GetContainerChanges(ctx context.Context, idOrName string) ([]containertypes.FilesystemChange, error)
- func (i *Inspector) GetContainerLogs(ctx context.Context, idOrName string, options containertypes.LogsOptions) (io.ReadCloser, error)
- func (i *Inspector) GetContainerProcesses(ctx context.Context, idOrName string, psArgs string) (containertypes.ContainerTopOKBody, error)
- func (i *Inspector) GetContainerResourceUsage(ctx context.Context, idOrName string) (*containertypes.StatsResponse, error)
- func (i *Inspector) GetContainerStats(ctx context.Context, idOrName string, stream bool) (io.ReadCloser, error)
- func (i *Inspector) GetContainerStatsJSON(ctx context.Context, idOrName string) (*containertypes.StatsResponse, error)
- func (i *Inspector) GetContainers(ctx context.Context, opts InspectionOptions) ([]*models.Container, error)
- type KillOptions
- type ListOptions
- type LogOptions
- type PruneOptions
- type PruneResult
- type RemoveOptions
- type RestartOptions
- type Service
- type StartOptions
- type StatsOptions
- type StopOptions
- type TopResult
- type UpdateOptions
- type WaitOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsErrContainerConflict ¶
IsErrContainerConflict checks if an error is a Docker container conflict error.
Types ¶
type ArchiveOptions ¶
type ArchiveOptions struct {
Path string // Path to the file or directory inside the container
}
ArchiveOptions contains options for getting/putting archives
type ChangeItem ¶
type ChangeItem struct {
Path string `json:"path"`
Kind int `json:"kind"` // 0: Modified, 1: Added, 2: Deleted
}
ChangeItem represents a change in the container's filesystem
type CommitOptions ¶
type CommitOptions struct {
Comment string
Author string
Reference string
Config *container.Config
Pause bool
Changes []string
}
CommitOptions contains options for committing a container
type CreateOptions ¶
type CreateOptions struct {
Name string
Config *container.Config
HostConfig *container.HostConfig
NetworkConfig *network.NetworkingConfig
Platform *specs.Platform
}
CreateOptions contains options for creating a container
type ExecOptions ¶
type ExecOptions struct {
Config container.ExecOptions
StartConfig container.ExecStartOptions
}
ExecOptions contains options for executing a command
type ExecResult ¶
type ExecResult struct {
ExecID string
OutputReader io.ReadCloser
ErrorChannel <-chan error
}
ExecResult contains the result of an exec operation
type InspectionOptions ¶
type InspectionOptions struct {
All bool `json:"all"`
Limit int `json:"limit"`
Size bool `json:"size"`
Filters map[string]string `json:"filters"`
SortBy string `json:"sort_by"`
SortDescending bool `json:"sort_descending"`
Offset int `json:"offset"`
Timeout int `json:"timeout"`
}
InspectionOptions defines options for listing and inspecting containers.
type Inspector ¶
type Inspector struct {
// contains filtered or unexported fields
}
Inspector provides methods for inspecting containers.
func NewInspector ¶
NewInspector creates a new Inspector.
func (*Inspector) CountContainers ¶
CountContainers counts containers matching the specified filters.
func (*Inspector) GetContainer ¶
GetContainer inspects a single container by ID or name.
func (*Inspector) GetContainerChanges ¶
func (i *Inspector) GetContainerChanges(ctx context.Context, idOrName string) ([]containertypes.FilesystemChange, error)
GetContainerChanges retrieves changes on a container's filesystem.
func (*Inspector) GetContainerLogs ¶
func (i *Inspector) GetContainerLogs(ctx context.Context, idOrName string, options containertypes.LogsOptions) (io.ReadCloser, error)
GetContainerLogs retrieves logs for a container.
func (*Inspector) GetContainerProcesses ¶
func (i *Inspector) GetContainerProcesses(ctx context.Context, idOrName string, psArgs string) (containertypes.ContainerTopOKBody, error)
GetContainerProcesses retrieves the list of processes running inside a container.
func (*Inspector) GetContainerResourceUsage ¶
func (i *Inspector) GetContainerResourceUsage(ctx context.Context, idOrName string) (*containertypes.StatsResponse, error)
GetContainerResourceUsage retrieves detailed resource usage statistics.
func (*Inspector) GetContainerStats ¶
func (i *Inspector) GetContainerStats(ctx context.Context, idOrName string, stream bool) (io.ReadCloser, error)
GetContainerStats retrieves statistics for a container. If stream is true, it returns a stream of stats; otherwise, a single stats snapshot.
func (*Inspector) GetContainerStatsJSON ¶
func (i *Inspector) GetContainerStatsJSON(ctx context.Context, idOrName string) (*containertypes.StatsResponse, error)
GetContainerStatsJSON retrieves a single stats snapshot and decodes it into StatsJSON.
func (*Inspector) GetContainers ¶
func (i *Inspector) GetContainers(ctx context.Context, opts InspectionOptions) ([]*models.Container, error)
GetContainers lists containers based on the provided options.
type KillOptions ¶
type KillOptions struct {
Signal string
}
KillOptions contains options for killing a container
type ListOptions ¶
type ListOptions struct {
All bool
Latest bool
Since string
Before string
Limit int
Filters filters.Args
Size bool
}
ListOptions contains options for listing containers
type LogOptions ¶
type LogOptions struct {
ShowStdout bool
ShowStderr bool
Since time.Time
Until time.Time
Timestamps bool
Follow bool
Tail string
Details bool
}
LogOptions contains options for retrieving container logs
type PruneOptions ¶
PruneOptions contains options for pruning containers
type PruneResult ¶
PruneResult contains the result of a prune operation
type RemoveOptions ¶
RemoveOptions contains options for removing a container
type RestartOptions ¶
type RestartOptions struct {
Timeout int
}
RestartOptions contains options for restarting a container
type Service ¶
type Service interface {
ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform string, containerName string) (container.CreateResponse, error)
ContainerStart(ctx context.Context, containerID string, options container.StartOptions) error
ContainerStop(ctx context.Context, containerID string, options container.StopOptions) error
ContainerRemove(ctx context.Context, containerID string, options container.RemoveOptions) error
ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) // Use types.ContainerJSON
ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error) // Use types.Container
NetworkConnect(ctx context.Context, networkID, containerID string, config *network.EndpointSettings) error
// --- Methods previously defined in this interface ---
// List returns a list of containers (Potentially redundant with ContainerList, review usage)
List(ctx context.Context, opts ListOptions) ([]models.Container, error)
// Get returns detailed information about a container (Potentially redundant with ContainerInspect, review usage)
Get(ctx context.Context, containerID string) (*models.Container, error)
// Create creates a new container (Potentially redundant with ContainerCreate, review usage)
Create(ctx context.Context, opts CreateOptions) (*models.Container, error)
// Start starts a container (Original method signature)
Start(ctx context.Context, containerID string, opts StartOptions) error
// Stop stops a container (Original method signature)
Stop(ctx context.Context, containerID string, opts StopOptions) error
// Restart restarts a container
Restart(ctx context.Context, containerID string, opts RestartOptions) error
// Kill sends a signal to a container
Kill(ctx context.Context, containerID string, opts KillOptions) error
// Remove removes a container (Original method signature)
Remove(ctx context.Context, containerID string, opts RemoveOptions) error
// Logs returns the logs of a container
Logs(ctx context.Context, containerID string, opts LogOptions) (io.ReadCloser, error)
// Stats returns the stats of a container
Stats(ctx context.Context, containerID string, opts StatsOptions) (models.ContainerStats, error)
// StreamStats streams the stats of a container
StreamStats(ctx context.Context, containerID string, opts StatsOptions) (<-chan models.ContainerStats, <-chan error)
// Prune removes stopped containers
Prune(ctx context.Context, opts PruneOptions) (PruneResult, error)
// Rename renames a container
Rename(ctx context.Context, containerID, newName string) error
// Update updates container resource limits
Update(ctx context.Context, containerID string, opts UpdateOptions) error
// Pause pauses a container
Pause(ctx context.Context, containerID string) error
// Unpause unpauses a container
Unpause(ctx context.Context, containerID string) error
// Commit creates a new image from a container
Commit(ctx context.Context, containerID string, opts CommitOptions) (string, error)
// Wait waits for a container to exit
Wait(ctx context.Context, containerID string, opts WaitOptions) (<-chan container.WaitResponse, <-chan error)
// Exec executes a command in a container
Exec(ctx context.Context, containerID string, opts ExecOptions) (ExecResult, error)
// Top lists processes running inside a container
Top(ctx context.Context, containerID string, psArgs string) (TopResult, error)
// Changes inspects changes on a container's filesystem
Changes(ctx context.Context, containerID string) ([]ChangeItem, error)
// GetArchive retrieves a file or directory from a container as a tar archive
GetArchive(ctx context.Context, containerID string, opts ArchiveOptions) (io.ReadCloser, models.ResourceStat, error)
// PutArchive copies files/directories to a container.
PutArchive(ctx context.Context, containerID string, path string, content io.Reader) error
}
Service defines the interface for container management operations Aligned with interfaces.ContainerService
type StartOptions ¶
StartOptions contains options for starting a container
type StatsOptions ¶
StatsOptions contains options for container stats
type StopOptions ¶
type StopOptions struct {
Timeout int
}
StopOptions contains options for stopping a container
type UpdateOptions ¶
type UpdateOptions struct {
Resources container.Resources
RestartPolicy *container.RestartPolicy
}
UpdateOptions contains options for updating a container
type WaitOptions ¶
type WaitOptions struct {
Condition container.WaitCondition
}
WaitOptions contains options for waiting on a container
Directories
¶
| Path | Synopsis |
|---|---|
|
Package exec provides functionality for executing commands in Docker containers.
|
Package exec provides functionality for executing commands in Docker containers. |
|
Package file provides utilities for container file operations
|
Package file provides utilities for container file operations |
|
Package lifecycle implements Docker container lifecycle operations.
|
Package lifecycle implements Docker container lifecycle operations. |
|
Package monitor provides utilities for monitoring Docker containers
|
Package monitor provides utilities for monitoring Docker containers |
|
Package state provides utilities for container state management
|
Package state provides utilities for container state management |