docker

package
v1.3.2-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StandardLogOptions = &LoggingConfig{
	Driver: "json-file",
	Options: map[string]string{
		"max-size": "10m",
		"max-file": "1",
	},
}

Functions

func CopyFileToVolume

func CopyFileToVolume(ctx context.Context, volumeName string, sourcePath string, destPath string) error

func CopyFromContainer added in v0.0.36

func CopyFromContainer(ctx context.Context, containerName string, sourcePath string, destPath string) error

func CreateVolume

func CreateVolume(ctx context.Context, volumeName string) error

func GetImageConfig added in v1.0.2

func GetImageConfig(image string) (map[string]interface{}, error)

func GetImageDigest added in v1.0.2

func GetImageDigest(image string) (string, error)

func GetImageLabel added in v1.0.2

func GetImageLabel(image, label string) (string, error)

func MkdirInVolume

func MkdirInVolume(ctx context.Context, volumeName string, directory string) error

func RemoveVolume

func RemoveVolume(ctx context.Context, volumeName string) error

func RunDockerCommand

func RunDockerCommand(ctx context.Context, workingDir string, command ...string) error

func RunDockerCommandBuffered added in v0.0.36

func RunDockerCommandBuffered(ctx context.Context, workingDir string, command ...string) (string, error)

func RunDockerCommandLine added in v1.3.0

func RunDockerCommandLine(ctx context.Context, workingDir string, command string) error

func RunDockerCommandRetry added in v0.0.35

func RunDockerCommandRetry(ctx context.Context, workingDir string, retries int, command ...string) error

func RunDockerComposeCommand

func RunDockerComposeCommand(ctx context.Context, workingDir string, command ...string) error

func RunDockerComposeCommandReturnsStdout added in v1.3.0

func RunDockerComposeCommandReturnsStdout(workingDir string, command ...string) ([]byte, error)

Types

type CtxComposeVersionKey added in v1.2.0

type CtxComposeVersionKey struct{}

type CtxIsLogCmdKey added in v1.2.0

type CtxIsLogCmdKey struct{}

type DependsOn

type DependsOn map[string]map[string]string

type DockerComposeConfig

type DockerComposeConfig struct {
	Version  string              `yaml:"version,omitempty"`
	Services map[string]*Service `yaml:"services,omitempty"`
	Volumes  map[string]struct{} `yaml:"volumes,omitempty"`
}

func CreateDockerCompose

func CreateDockerCompose(s *types.Stack) *DockerComposeConfig

type DockerComposeVersion added in v1.2.0

type DockerComposeVersion int
const (
	None DockerComposeVersion = iota
	ComposeV1
	ComposeV2
)

func CheckDockerConfig added in v0.0.36

func CheckDockerConfig() (DockerComposeVersion, error)

type DockerManager added in v1.3.1

type DockerManager struct{}

DockerManager implements IDockerManager

func NewDockerManager added in v1.3.1

func NewDockerManager() *DockerManager

func (*DockerManager) CopyFileToVolume added in v1.3.1

func (mgr *DockerManager) CopyFileToVolume(ctx context.Context, volumeName string, sourcePath string, destPath string) error

func (*DockerManager) CopyFromContainer added in v1.3.1

func (mgr *DockerManager) CopyFromContainer(ctx context.Context, containerName string, sourcePath string, destPath string) error

func (*DockerManager) CreateVolume added in v1.3.1

func (mgr *DockerManager) CreateVolume(ctx context.Context, volumeName string) error

func (*DockerManager) GetImageConfig added in v1.3.1

func (mgr *DockerManager) GetImageConfig(image string) (map[string]interface{}, error)

func (*DockerManager) GetImageDigest added in v1.3.1

func (mgr *DockerManager) GetImageDigest(image string) (string, error)

func (*DockerManager) GetImageLabel added in v1.3.1

func (mgr *DockerManager) GetImageLabel(image, label string) (string, error)

func (*DockerManager) MkdirInVolume added in v1.3.1

func (mgr *DockerManager) MkdirInVolume(ctx context.Context, volumeName string, directory string) error

func (*DockerManager) RemoveVolume added in v1.3.1

func (mgr *DockerManager) RemoveVolume(ctx context.Context, volumeName string) error

func (*DockerManager) RunDockerCommand added in v1.3.1

func (mgr *DockerManager) RunDockerCommand(ctx context.Context, workingDir string, command ...string) error

func (*DockerManager) RunDockerCommandBuffered added in v1.3.1

func (mgr *DockerManager) RunDockerCommandBuffered(ctx context.Context, workingDir string, command ...string) (string, error)

func (*DockerManager) RunDockerCommandLine added in v1.3.1

func (mgr *DockerManager) RunDockerCommandLine(ctx context.Context, workingDir string, command string) error

func (*DockerManager) RunDockerComposeCommand added in v1.3.1

func (mgr *DockerManager) RunDockerComposeCommand(ctx context.Context, workingDir string, command ...string) error

func (*DockerManager) RunDockerComposeCommandReturnsStdout added in v1.3.1

func (mgr *DockerManager) RunDockerComposeCommandReturnsStdout(workingDir string, command ...string) ([]byte, error)

type HealthCheck

type HealthCheck struct {
	Test     []string `yaml:"test,omitempty"`
	Interval string   `yaml:"interval,omitempty"`
	Timeout  string   `yaml:"timeout,omitempty"`
	Retries  int      `yaml:"retries,omitempty"`
}

type IDockerManager added in v1.3.1

type IDockerManager interface {
	// Command Execution
	RunDockerCommand(ctx context.Context, workingDir string, command ...string) error
	RunDockerCommandLine(ctx context.Context, workingDir string, command string) error
	RunDockerComposeCommand(ctx context.Context, workingDir string, command ...string) error
	RunDockerCommandBuffered(ctx context.Context, workingDir string, command ...string) (string, error)
	RunDockerComposeCommandReturnsStdout(workingDir string, command ...string) ([]byte, error)

	// Image Inspection
	GetImageConfig(image string) (map[string]interface{}, error)
	GetImageLabel(image, label string) (string, error)
	GetImageDigest(image string) (string, error)

	// Volume Management
	CreateVolume(ctx context.Context, volumeName string) error
	CopyFileToVolume(ctx context.Context, volumeName string, sourcePath string, destPath string) error
	MkdirInVolume(ctx context.Context, volumeName string, directory string) error
	RemoveVolume(ctx context.Context, volumeName string) error

	// Container Interaction
	CopyFromContainer(ctx context.Context, containerName string, sourcePath string, destPath string) error
}

DockerInterface combines all Docker-related operations into a single interface.

type LoggingConfig

type LoggingConfig struct {
	Driver  string            `yaml:"driver,omitempty"`
	Options map[string]string `yaml:"options,omitempty"`
}

type Service

type Service struct {
	ContainerName string                       `yaml:"container_name,omitempty"`
	Image         string                       `yaml:"image,omitempty"`
	Build         string                       `yaml:"build,omitempty"`
	User          string                       `yaml:"user,omitempty"`
	Command       string                       `yaml:"command,omitempty"`
	Environment   map[string]interface{}       `yaml:"environment,omitempty"`
	Volumes       []string                     `yaml:"volumes,omitempty"`
	Ports         []string                     `yaml:"ports,omitempty"`
	DependsOn     map[string]map[string]string `yaml:"depends_on,omitempty"`
	HealthCheck   *HealthCheck                 `yaml:"healthcheck,omitempty"`
	Logging       *LoggingConfig               `yaml:"logging,omitempty"`
	WorkingDir    string                       `yaml:"working_dir,omitempty"`
	EntryPoint    []string                     `yaml:"entrypoint,omitempty"`
	EnvFile       string                       `yaml:"env_file,omitempty"`
	Expose        []int                        `yaml:"expose,omitempty"`
	Deploy        map[string]interface{}       `yaml:"deploy,omitempty"`
	Platform      string                       `yaml:"platform,omitempty"`
}

type ServiceDefinition

type ServiceDefinition struct {
	ServiceName string
	Service     *Service
	VolumeNames []string
}

Directories

Path Synopsis
DockerManager is a mock that implements IDockerManager
DockerManager is a mock that implements IDockerManager

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL