| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | package containersimport (	"context"	"io")// Container represents a created containertype Container struct {	ID          string	Status      string	Image       string	Command     string	CPUTime     uint64	MemoryUsage uint64	MemoryLimit uint64	PidsCurrent uint64	PidsLimit   uint64	Labels      []string}// Port represents a published port of a containertype Port struct {	// Source is the source port	Source uint32	// Destination is the destination port	Destination uint32}// ContainerConfig contains the configuration data about a containertype ContainerConfig struct {	// ID uniquely identifies the container	ID string	// Image specifies the iamge reference used for a container	Image string	// Ports provide a list of published ports	Ports []Port}// LogsRequest contains configuration about a log requesttype LogsRequest struct {	Follow bool	Tail   string	Writer io.Writer}// Service interacts with the underlying container backendtype Service interface {	// List returns all the containers	List(ctx context.Context) ([]Container, error)	// Run creates and starts a container	Run(ctx context.Context, config ContainerConfig) error	// Exec executes a command inside a running container	Exec(ctx context.Context, containerName string, command string, reader io.Reader, writer io.Writer) error	// Logs returns all the logs of a container	Logs(ctx context.Context, containerName string, request LogsRequest) error}
 |