Documentation
¶
Index ¶
- Constants
- func FindContainer(ctx context.Context, cli *client.Client, containerName string) (*container.Summary, error)
- func GetContainerDisplayName(containerName *string) string
- func GetContainerNSPid(ctx context.Context, cli *client.Client, containerName string) (*int, error)
- func GetNetNSHandle(ctx context.Context, cli *client.Client, containerName string) (netns.NsHandle, error)
- func IsRegularContainerName(containerName string) bool
- func StopAndRemoveContainer(ctx context.Context, containerName string) error
- func WithNetnsWGCli(ctx context.Context, containerName *string, ...) error
- func WithNsHandle(ctx context.Context, containerName *string, f func(h *netlink.Handle) error) error
- func WithNsHandleSafe(ctx context.Context, containerName *string, f func(h *netlink.Handle) error) error
- type ContainerConfig
- type ContainerDockerConfig
- type ContainerKey
- type ContainerList
- type DockerContainerConfig
- func (dockerConfig *DockerContainerConfig) Apply(ctx context.Context) error
- func (dockerConfig *DockerContainerConfig) ApplyToContainerCreateConfig(containerConfig *container.Config, hostConfig *container.HostConfig, ...)
- func (dockerConfig *DockerContainerConfig) Create(ctx context.Context) error
- func (dockerConfig *DockerContainerConfig) ReCreate(ctx context.Context) error
- type DockerDeviceMapping
- type DockerMountConfig
- type DockerPortMapping
Constants ¶
View Source
const LabelKeyCategory string = "category"
View Source
const LabelKeyIfaceType string = "ifacetype"
View Source
const LabelKeyInstance string = "instance"
View Source
const LabelKeyService string = "service"
Variables ¶
This section is empty.
Functions ¶
func FindContainer ¶
func FindContainer(ctx context.Context, cli *client.Client, containerName string) (*container.Summary, error)
If no container is found, return (nil, nil), by default, it expects exact match
func GetContainerDisplayName ¶
func GetContainerNSPid ¶
func GetNetNSHandle ¶
func IsRegularContainerName ¶
func StopAndRemoveContainer ¶
func WithNetnsWGCli ¶
func WithNsHandle ¶
Types ¶
type ContainerConfig ¶
type ContainerConfig struct {
Docker ContainerDockerConfig `yaml:"docker,omitempty" json:"docker,omitempty"`
}
type ContainerDockerConfig ¶
type ContainerDockerConfig struct {
Name string `yaml:"name" json:"name"`
}
type ContainerKey ¶
type ContainerKey string
const (
ContainerKeyHost ContainerKey = "-"
)
func GetContainerKey ¶
func GetContainerKey(containerName *string) ContainerKey
type ContainerList ¶
type ContainerList struct {
// contains filtered or unexported fields
}
func NewContainerListFromServiceName ¶
func NewContainerListFromServiceName(ctx context.Context, serviceName string) (*ContainerList, error)
func (*ContainerList) GetContainers ¶
func (containerList *ContainerList) GetContainers() []container.Summary
type DockerContainerConfig ¶
type DockerContainerConfig struct {
Image string `yaml:"image" json:"image"`
ContainerName string `yaml:"container_name,omitempty" json:"container_name,omitempty"`
Capabilities []string `yaml:"cap_add,omitempty" json:"cap_add,omitempty"`
Hostname *string `yaml:"hostname,omitempty" json:"hostname,omitempty"`
Ports map[string][]DockerPortMapping `yaml:"ports,omitempty" json:"ports,omitempty"`
Volumes []DockerMountConfig `yaml:"volumes,omitempty" json:"volumes,omitempty"`
Devices []DockerDeviceMapping `yaml:"devices,omitempty" json:"devices,omitempty"`
AutoRemove *bool `yaml:"autoremove,omitempty" json:"autoremove,omitempty"`
Networks []string `yaml:"networks,omitempty" json:"networks,omitempty"`
Command []string `yaml:"command,omitempty" json:"command,omitempty"`
Labels map[string]string `yaml:"labels,omitempty" json:"labels,omitempty"`
TTY *bool `yaml:"tty,omitempty" json:"tty,omitempty"`
OpenStdin *bool `yaml:"stdin_open,omitempty" json:"stdin_open,omitempty"`
}
func (*DockerContainerConfig) Apply ¶
func (dockerConfig *DockerContainerConfig) Apply(ctx context.Context) error
func (*DockerContainerConfig) ApplyToContainerCreateConfig ¶
func (dockerConfig *DockerContainerConfig) ApplyToContainerCreateConfig( containerConfig *container.Config, hostConfig *container.HostConfig, networkConfig *network.NetworkingConfig, )
type DockerDeviceMapping ¶
type DockerDeviceMapping struct {
// For example, "/dev/net/tun"
PathOnHost string `yaml:"path_on_host" json:"path_on_host"`
// For example, "/dev/net/tun"
PathInContainer string `yaml:"path_in_container" json:"path_in_container"`
// Should use "rwm" mostly
CgroupPermissions *string `yaml:"cgroup_permissions,omitempty" json:"cgroup_permissions,omitempty"`
}
type DockerMountConfig ¶
type DockerPortMapping ¶
Click to show internal directories.
Click to hide internal directories.