Documentation ¶
Index ¶
- Constants
- Variables
- func BuildContainerEndpoint(c *Container) *networktypes.Endpoint
- func IsBridge(mode string) bool
- func IsContainer(mode string) bool
- func IsDefault(mode string) bool
- func IsHost(mode string) bool
- func IsNone(mode string) bool
- func IsPrivate(mode string) bool
- func IsUserDefined(mode string) bool
- type AttachConfig
- type Container
- func (c *Container) ExitCode() int64
- func (c *Container) FormatStatus() (string, error)
- func (c *Container) IsCreated() bool
- func (c *Container) IsDead() bool
- func (c *Container) IsExited() bool
- func (c *Container) IsPaused() bool
- func (c *Container) IsRestarting() bool
- func (c *Container) IsRunning() bool
- func (c *Container) IsRunningOrPaused() bool
- func (c *Container) IsStopped() bool
- func (c *Container) Key() string
- func (c *Container) SetStatusExited()
- func (c *Container) SetStatusPaused()
- func (c *Container) SetStatusRunning(pid int64)
- func (c *Container) SetStatusStopped(exitCode int64, errMsg string)
- func (c *Container) SetStatusUnpaused()
- func (c *Container) StopTimeout() int64
- func (c *Container) Write(store *meta.Store) error
- type ContainerEvent
- type ContainerExecConfig
- type ContainerFilter
- type ContainerListOption
- type ContainerManager
- func (mgr *ContainerManager) Attach(ctx context.Context, name string, attach *AttachConfig) error
- func (mgr *ContainerManager) Connect(ctx context.Context, name string, networkIDOrName string, ...) error
- func (mgr *ContainerManager) Create(ctx context.Context, name string, config *types.ContainerCreateConfig) (*types.ContainerCreateResp, error)
- func (mgr *ContainerManager) CreateExec(ctx context.Context, name string, config *types.ExecCreateConfig) (string, error)
- func (mgr *ContainerManager) Disconnect(ctx context.Context, containerName, networkName string, force bool) error
- func (mgr *ContainerManager) Get(ctx context.Context, name string) (*Container, error)
- func (mgr *ContainerManager) GetExecConfig(ctx context.Context, execid string) (*ContainerExecConfig, error)
- func (mgr *ContainerManager) InspectExec(ctx context.Context, execid string) (*types.ContainerExecInspect, error)
- func (mgr *ContainerManager) List(ctx context.Context, filter ContainerFilter, option *ContainerListOption) ([]*Container, error)
- func (mgr *ContainerManager) Logs(ctx context.Context, name string, logOpt *types.ContainerLogsOptions) (<-chan *logger.LogMessage, bool, error)
- func (mgr *ContainerManager) Pause(ctx context.Context, name string) error
- func (mgr *ContainerManager) Remove(ctx context.Context, name string, options *types.ContainerRemoveOptions) error
- func (mgr *ContainerManager) Rename(ctx context.Context, oldName, newName string) error
- func (mgr *ContainerManager) Resize(ctx context.Context, name string, opts types.ResizeOptions) error
- func (mgr *ContainerManager) Restart(ctx context.Context, name string, timeout int64) error
- func (mgr *ContainerManager) Restore(ctx context.Context) error
- func (mgr *ContainerManager) Start(ctx context.Context, id, detachKeys string) (err error)
- func (mgr *ContainerManager) StartExec(ctx context.Context, execid string, config *types.ExecStartConfig, ...) error
- func (mgr *ContainerManager) Stop(ctx context.Context, name string, timeout int64) error
- func (mgr *ContainerManager) Top(ctx context.Context, name string, psArgs string) (*types.ContainerProcessList, error)
- func (mgr *ContainerManager) Unpause(ctx context.Context, name string) error
- func (mgr *ContainerManager) Update(ctx context.Context, name string, config *types.UpdateConfig) error
- func (mgr *ContainerManager) Upgrade(ctx context.Context, name string, config *types.ContainerUpgradeConfig) error
- func (mgr *ContainerManager) Wait(ctx context.Context, name string) (types.ContainerWaitOKBody, error)
- type ContainerMgr
- type ContainerMonitor
- type ContainerRestartPolicy
- type ImageManager
- func (mgr *ImageManager) AddTag(ctx context.Context, sourceImage string, targetTag string) error
- func (mgr *ImageManager) CheckReference(ctx context.Context, idOrRef string) (actualID digest.Digest, actualRef reference.Named, primaryRef reference.Named, ...)
- func (mgr *ImageManager) GetImage(ctx context.Context, idOrRef string) (*types.ImageInfo, error)
- func (mgr *ImageManager) ListImages(ctx context.Context, filter ...string) ([]types.ImageInfo, error)
- func (mgr *ImageManager) LoadImage(ctx context.Context, imageName string, tarstream io.ReadCloser) error
- func (mgr *ImageManager) PullImage(ctx context.Context, ref string, authConfig *types.AuthConfig, out io.Writer) error
- func (mgr *ImageManager) RemoveImage(ctx context.Context, idOrRef string, force bool) error
- func (mgr *ImageManager) SearchImages(ctx context.Context, name string, registry string) ([]types.SearchResultItem, error)
- type ImageMgr
- type ImageRemoveOption
- type NetworkManager
- func (nm *NetworkManager) Controller() libnetwork.NetworkController
- func (nm *NetworkManager) Create(ctx context.Context, create apitypes.NetworkCreateConfig) (*types.Network, error)
- func (nm *NetworkManager) EndpointCreate(ctx context.Context, endpoint *types.Endpoint) (string, error)
- func (nm *NetworkManager) EndpointInfo(ctx context.Context, name string) (*types.Endpoint, error)
- func (nm *NetworkManager) EndpointList(ctx context.Context) ([]*types.Endpoint, error)
- func (nm *NetworkManager) EndpointRemove(ctx context.Context, endpoint *types.Endpoint) error
- func (nm *NetworkManager) Get(ctx context.Context, idName string) (*types.Network, error)
- func (nm *NetworkManager) GetNetworkByName(name string) (*types.Network, error)
- func (nm *NetworkManager) GetNetworkByPartialID(partialID string) (*types.Network, error)
- func (nm *NetworkManager) GetNetworksByPartialID(partialID string) []*types.Network
- func (nm *NetworkManager) List(ctx context.Context, labels map[string]string) ([]*types.Network, error)
- func (nm *NetworkManager) Remove(ctx context.Context, name string) error
- type NetworkMgr
- type SpecWrapper
- type SystemManager
- type SystemMgr
- type VolumeManager
- func (vm *VolumeManager) Attach(ctx context.Context, name string, options map[string]string) (*types.Volume, error)
- func (vm *VolumeManager) Create(ctx context.Context, name, driver string, options, labels map[string]string) (*types.Volume, error)
- func (vm *VolumeManager) Detach(ctx context.Context, name string, options map[string]string) (*types.Volume, error)
- func (vm *VolumeManager) Get(ctx context.Context, name string) (*types.Volume, error)
- func (vm *VolumeManager) List(ctx context.Context, labels map[string]string) ([]*types.Volume, error)
- func (vm *VolumeManager) Path(ctx context.Context, name string) (string, error)
- func (vm *VolumeManager) Remove(ctx context.Context, name string) error
- type VolumeMgr
Constants ¶
const ( // ProfileNamePrefix is the prefix for loading profiles on a localhost. Eg. localhost/profileName. ProfileNamePrefix = "localhost/" // ProfileRuntimeDefault indicates that we should use or create a runtime default profile. ProfileRuntimeDefault = "runtime/default" // ProfileDockerDefault indicates that we should use or create a docker default profile. ProfileDockerDefault = "docker/default" // ProfilePouchDefault indicates that we should use or create a pouch default profile. ProfilePouchDefault = "pouch/default" // ProfileNameUnconfined is a string indicating one should run a pod/containerd without a security profile. ProfileNameUnconfined = "unconfined" )
FIXME: these variables have no relation with spec, move them.
const (
// DefaultStopTimeout is the timeout (in seconds) for the syscall signal used to stop a container.
DefaultStopTimeout = 10
)
const ( // EvExit represents container's exit event. EvExit = iota )
Variables ¶
var ( // GCExecProcessTick is the time interval to trigger gc unused exec config, // time unit is minute. GCExecProcessTick = 5 )
Functions ¶
func BuildContainerEndpoint ¶
func BuildContainerEndpoint(c *Container) *networktypes.Endpoint
BuildContainerEndpoint is used to build container's endpoint config.
func IsContainer ¶
IsContainer is used to check if network mode is container mode.
func IsUserDefined ¶
IsUserDefined is used to check if network mode is bridge mode.
Types ¶
type AttachConfig ¶
type AttachConfig struct { Stdin bool Stdout bool Stderr bool // For IO backend like http, we need to mux stdout & stderr // if terminal is disabled. // But for other IO backend, it is not necessary. // So we should make it configurable. MuxDisabled bool // Attach using http. Hijack http.Hijacker Upgrade bool // Attach using pipe. Pipe *io.PipeWriter // Attach using streams. Streams *remotecommand.Streams // Attach to the container to get its log. CriLogFile *os.File }
AttachConfig wraps some infos of attaching.
type Container ¶
type Container struct { sync.Mutex // app armor profile AppArmorProfile string `json:"AppArmorProfile,omitempty"` // seccomp profile SeccompProfile string `json:"SeccompProfile,omitempty"` // no new privileges NoNewPrivileges bool `json:"NoNewPrivileges,omitempty"` // The arguments to the command being run Args []string `json:"Args"` // config Config *types.ContainerConfig `json:"Config,omitempty"` // The time the container was created Created string `json:"Created,omitempty"` // driver Driver string `json:"Driver,omitempty"` // exec ids ExecIds string `json:"ExecIDs,omitempty"` // Snapshotter, GraphDriver is same, keep both // just for compatibility // snapshotter informations of container Snapshotter *types.SnapshotterData `json:"Snapshotter,omitempty"` // graph driver GraphDriver *types.GraphDriverData `json:"GraphDriver,omitempty"` // host config HostConfig *types.HostConfig `json:"HostConfig,omitempty"` // hostname path HostnamePath string `json:"HostnamePath,omitempty"` // hosts path HostsPath string `json:"HostsPath,omitempty"` // The ID of the container ID string `json:"Id,omitempty"` // The container's image Image string `json:"Image,omitempty"` // log path LogPath string `json:"LogPath,omitempty"` // mount label MountLabel string `json:"MountLabel,omitempty"` // mounts Mounts []*types.MountPoint `json:"Mounts"` // name Name string `json:"Name,omitempty"` // network settings NetworkSettings *types.NetworkSettings `json:"NetworkSettings,omitempty"` Node interface{} `json:"Node,omitempty"` // The path to the command being run Path string `json:"Path,omitempty"` // process label ProcessLabel string `json:"ProcessLabel,omitempty"` // resolv conf path ResolvConfPath string `json:"ResolvConfPath,omitempty"` // restart count RestartCount int64 `json:"RestartCount,omitempty"` // The total size of all the files in this container. SizeRootFs int64 `json:"SizeRootFs,omitempty"` // The size of files that have been created or changed by this container. SizeRw int64 `json:"SizeRw,omitempty"` // state State *types.ContainerState `json:"State,omitempty"` // BaseFS BaseFS string `json:"BaseFS, omitempty"` // Escape keys for detach DetachKeys string }
Container represents the container's meta data.
func (*Container) FormatStatus ¶
FormatStatus format container status
func (*Container) IsRestarting ¶
IsRestarting returns container is restarting or not.
func (*Container) IsRunningOrPaused ¶
IsRunningOrPaused returns true of container is running or paused.
func (*Container) SetStatusExited ¶
func (c *Container) SetStatusExited()
SetStatusExited sets a container to be status exited.
func (*Container) SetStatusPaused ¶
func (c *Container) SetStatusPaused()
SetStatusPaused sets a container to be status paused.
func (*Container) SetStatusRunning ¶
SetStatusRunning sets a container to be status running. When a container's status turns to StatusStopped, the following fields need updated: Status -> StatusRunning StartAt -> time.Now() Pid -> input param ExitCode -> 0
func (*Container) SetStatusStopped ¶
SetStatusStopped sets a container to be status stopped. When a container's status turns to StatusStopped, the following fields need updated: Status -> StatusStopped FinishedAt -> time.Now() Pid -> -1 ExitCode -> input param Error -> input param
func (*Container) SetStatusUnpaused ¶
func (c *Container) SetStatusUnpaused()
SetStatusUnpaused sets a container to be status running. Unpaused is treated running.
func (*Container) StopTimeout ¶
StopTimeout returns the timeout (in seconds) used to stop the container.
type ContainerEvent ¶
type ContainerEvent struct { Kind int // contains filtered or unexported fields }
ContainerEvent represents the container's events.
func ContainerExitEvent ¶
func ContainerExitEvent(c *Container) *ContainerEvent
ContainerExitEvent represents container's exit event.
func (*ContainerEvent) String ¶
func (e *ContainerEvent) String() string
String returns container's event type as a string.
func (*ContainerEvent) WithHandle ¶
func (e *ContainerEvent) WithHandle(handle func(*Container) error) *ContainerEvent
WithHandle sets the event's handler.
type ContainerExecConfig ¶
type ContainerExecConfig struct { // ExecID identifies the ID of this exec ExecID string // contains the config of this exec types.ExecCreateConfig // Save the container's id into exec config. ContainerID string // ExitCode records the exit code of a exec process. ExitCode int64 // Running represents whether the exec process is running inside container. Running bool // Error represents the exec process response error. Error error // WaitForClean means exec process can be removed. WaitForClean bool }
ContainerExecConfig is the config a process exec.
type ContainerFilter ¶
ContainerFilter defines a function to filter container in the store.
type ContainerListOption ¶
type ContainerListOption struct {
All bool
}
ContainerListOption wraps the container list interface params.
type ContainerManager ¶
type ContainerManager struct { // Store stores containers in Backend store. // Element operated in store must has a type of *Container. // By default, Store will use local filesystem with json format to store containers. Store *meta.Store // Client is used to interact with containerd. Client ctrd.APIClient // NameToID stores relations between container's name and ID. // It is used to get container ID via container name. NameToID *collect.SafeMap ImageMgr ImageMgr VolumeMgr VolumeMgr NetworkMgr NetworkMgr IOs *containerio.Cache ExecProcesses *collect.SafeMap Config *config.Config // contains filtered or unexported fields }
ContainerManager is the default implement of interface ContainerMgr.
func NewContainerManager ¶
func NewContainerManager(ctx context.Context, store *meta.Store, cli ctrd.APIClient, imgMgr ImageMgr, volMgr VolumeMgr, cfg *config.Config, contPlugin plugins.ContainerPlugin) (*ContainerManager, error)
NewContainerManager creates a brand new container manager.
func (*ContainerManager) Attach ¶
func (mgr *ContainerManager) Attach(ctx context.Context, name string, attach *AttachConfig) error
Attach attachs a container's io.
func (*ContainerManager) Connect ¶
func (mgr *ContainerManager) Connect(ctx context.Context, name string, networkIDOrName string, epConfig *types.EndpointSettings) error
Connect is used to connect a container to a network.
func (*ContainerManager) Create ¶
func (mgr *ContainerManager) Create(ctx context.Context, name string, config *types.ContainerCreateConfig) (*types.ContainerCreateResp, error)
Create checks passed in parameters and create a Container object whose status is set at Created.
func (*ContainerManager) CreateExec ¶
func (mgr *ContainerManager) CreateExec(ctx context.Context, name string, config *types.ExecCreateConfig) (string, error)
CreateExec creates exec process's meta data.
func (*ContainerManager) Disconnect ¶
func (mgr *ContainerManager) Disconnect(ctx context.Context, containerName, networkName string, force bool) error
Disconnect disconnects the given container from given network
func (*ContainerManager) GetExecConfig ¶
func (mgr *ContainerManager) GetExecConfig(ctx context.Context, execid string) (*ContainerExecConfig, error)
GetExecConfig returns execonfig of a exec process inside container.
func (*ContainerManager) InspectExec ¶
func (mgr *ContainerManager) InspectExec(ctx context.Context, execid string) (*types.ContainerExecInspect, error)
InspectExec returns low-level information about exec command.
func (*ContainerManager) List ¶
func (mgr *ContainerManager) List(ctx context.Context, filter ContainerFilter, option *ContainerListOption) ([]*Container, error)
List returns the container's list.
func (*ContainerManager) Logs ¶
func (mgr *ContainerManager) Logs(ctx context.Context, name string, logOpt *types.ContainerLogsOptions) (<-chan *logger.LogMessage, bool, error)
Logs is used to return log created by the container.
func (*ContainerManager) Pause ¶
func (mgr *ContainerManager) Pause(ctx context.Context, name string) error
Pause pauses a running container.
func (*ContainerManager) Remove ¶
func (mgr *ContainerManager) Remove(ctx context.Context, name string, options *types.ContainerRemoveOptions) error
Remove removes a container, it may be running or stopped and so on.
func (*ContainerManager) Rename ¶
func (mgr *ContainerManager) Rename(ctx context.Context, oldName, newName string) error
Rename renames a container.
func (*ContainerManager) Resize ¶
func (mgr *ContainerManager) Resize(ctx context.Context, name string, opts types.ResizeOptions) error
Resize resizes the size of a container tty.
func (*ContainerManager) Restore ¶
func (mgr *ContainerManager) Restore(ctx context.Context) error
Restore containers from meta store to memory and recover those container.
func (*ContainerManager) Start ¶
func (mgr *ContainerManager) Start(ctx context.Context, id, detachKeys string) (err error)
Start a pre created Container.
func (*ContainerManager) StartExec ¶
func (mgr *ContainerManager) StartExec(ctx context.Context, execid string, config *types.ExecStartConfig, attach *AttachConfig) error
StartExec executes a new process in container.
func (*ContainerManager) Top ¶
func (mgr *ContainerManager) Top(ctx context.Context, name string, psArgs string) (*types.ContainerProcessList, error)
Top lists the processes running inside of the given container
func (*ContainerManager) Unpause ¶
func (mgr *ContainerManager) Unpause(ctx context.Context, name string) error
Unpause unpauses a paused container.
func (*ContainerManager) Update ¶
func (mgr *ContainerManager) Update(ctx context.Context, name string, config *types.UpdateConfig) error
Update updates the configurations of a container.
func (*ContainerManager) Upgrade ¶
func (mgr *ContainerManager) Upgrade(ctx context.Context, name string, config *types.ContainerUpgradeConfig) error
Upgrade upgrades a container with new image and args.
func (*ContainerManager) Wait ¶
func (mgr *ContainerManager) Wait(ctx context.Context, name string) (types.ContainerWaitOKBody, error)
Wait stops processing until the given container is stopped.
type ContainerMgr ¶
type ContainerMgr interface { // Restore containers from meta store to memory and recover those container. Restore(ctx context.Context) error // Create a new container. Create(ctx context.Context, name string, config *types.ContainerCreateConfig) (*types.ContainerCreateResp, error) // Get the detailed information of container. Get(ctx context.Context, name string) (*Container, error) // List returns the list of containers. List(ctx context.Context, filter ContainerFilter, option *ContainerListOption) ([]*Container, error) // Start a container. Start(ctx context.Context, id, detachKeys string) error // Stop a container. Stop(ctx context.Context, name string, timeout int64) error // Restart restart a running container. Restart(ctx context.Context, name string, timeout int64) error // Pause a container. Pause(ctx context.Context, name string) error // Unpause a container. Unpause(ctx context.Context, name string) error // Attach a container. Attach(ctx context.Context, name string, attach *AttachConfig) error // Rename renames a container. Rename(ctx context.Context, oldName string, newName string) error // Update updates the configurations of a container. Update(ctx context.Context, name string, config *types.UpdateConfig) error // Upgrade upgrades a container with new image and args. Upgrade(ctx context.Context, name string, config *types.ContainerUpgradeConfig) error // Top lists the processes running inside of the given container Top(ctx context.Context, name string, psArgs string) (*types.ContainerProcessList, error) // Resize resizes the size of container tty. Resize(ctx context.Context, name string, opts types.ResizeOptions) error // Remove removes a container, it may be running or stopped and so on. Remove(ctx context.Context, name string, option *types.ContainerRemoveOptions) error // Wait stops processing until the given container is stopped. Wait(ctx context.Context, name string) (types.ContainerWaitOKBody, error) // CreateExec creates exec process's environment. CreateExec(ctx context.Context, name string, config *types.ExecCreateConfig) (string, error) // StartExec executes a new process in container. StartExec(ctx context.Context, execid string, config *types.ExecStartConfig, attach *AttachConfig) error // InspectExec returns low-level information about exec command. InspectExec(ctx context.Context, execid string) (*types.ContainerExecInspect, error) // GetExecConfig returns execonfig of a exec process inside container. GetExecConfig(ctx context.Context, execid string) (*ContainerExecConfig, error) // Connect is used to connect a container to a network. Connect(ctx context.Context, name string, networkIDOrName string, epConfig *types.EndpointSettings) error // Disconnect disconnects the given container from // given network Disconnect(ctx context.Context, containerName, networkName string, force bool) error // Logs is used to return log created by the container. Logs(ctx context.Context, name string, logsOpt *types.ContainerLogsOptions) (<-chan *logger.LogMessage, bool, error) }
ContainerMgr as an interface defines all operations against container. ContainerMgr's functionality could be divided into three parts: 1. regular container management; 2. container exec management; 3. container network management.
type ContainerMonitor ¶
type ContainerMonitor struct {
// contains filtered or unexported fields
}
ContainerMonitor is used to monitor contianer's event.
func NewContainerMonitor ¶
func NewContainerMonitor() *ContainerMonitor
NewContainerMonitor returns one ContainerMonitor object.
func (*ContainerMonitor) PostEvent ¶
func (m *ContainerMonitor) PostEvent(ev *ContainerEvent)
PostEvent sends a event to monitor.
type ContainerRestartPolicy ¶
type ContainerRestartPolicy types.RestartPolicy
ContainerRestartPolicy represents the policy is used to manage container.
func (ContainerRestartPolicy) IsAlways ¶
func (p ContainerRestartPolicy) IsAlways() bool
IsAlways returns the container need to be restarted or not.
func (ContainerRestartPolicy) IsNone ¶
func (p ContainerRestartPolicy) IsNone() bool
IsNone returns the container don't need to be restarted or not.
type ImageManager ¶
type ImageManager struct { // DefaultRegistry is the default registry of daemon. // When users do not specify image repo in image name, // daemon will automatically pull images with DefaultRegistry and DefaultNamespace. DefaultRegistry string // DefaultNamespace is the default namespace used in DefaultRegistry. DefaultNamespace string // contains filtered or unexported fields }
ImageManager is an implementation of interface ImageMgr.
func NewImageManager ¶
NewImageManager initializes a brand new image manager.
func (*ImageManager) AddTag ¶
AddTag adds the tag reference to the source image.
NOTE(fuwei): AddTag hacks the containerd metadata boltdb, which we add the reference into the containerd metadata boltdb with the existing image content. It means that the "tag" is primary reference in the pouchd.
For example,
pouch tag A B pouch rmi A
The B is still there.
func (*ImageManager) CheckReference ¶
func (mgr *ImageManager) CheckReference(ctx context.Context, idOrRef string) (actualID digest.Digest, actualRef reference.Named, primaryRef reference.Named, err error)
CheckReference returns image ID and actual reference.
func (*ImageManager) ListImages ¶
func (mgr *ImageManager) ListImages(ctx context.Context, filter ...string) ([]types.ImageInfo, error)
ListImages lists images stored by containerd.
func (*ImageManager) LoadImage ¶
func (mgr *ImageManager) LoadImage(ctx context.Context, imageName string, tarstream io.ReadCloser) error
LoadImage loads images by the oci.v1 format tarstream.
func (*ImageManager) PullImage ¶
func (mgr *ImageManager) PullImage(ctx context.Context, ref string, authConfig *types.AuthConfig, out io.Writer) error
PullImage pulls images from specified registry.
func (*ImageManager) RemoveImage ¶
RemoveImage deletes a reference.
NOTE: if the reference is short ID or ID, should remove all the references.
func (*ImageManager) SearchImages ¶
func (mgr *ImageManager) SearchImages(ctx context.Context, name string, registry string) ([]types.SearchResultItem, error)
SearchImages searches imaged from specified registry.
type ImageMgr ¶
type ImageMgr interface { // PullImage pulls images from specified registry. PullImage(ctx context.Context, ref string, authConfig *types.AuthConfig, out io.Writer) error // GetImage returns imageInfo by reference or id. GetImage(ctx context.Context, idOrRef string) (*types.ImageInfo, error) // ListImages lists images stored by containerd. ListImages(ctx context.Context, filter ...string) ([]types.ImageInfo, error) // Search Images from specified registry. SearchImages(ctx context.Context, name string, registry string) ([]types.SearchResultItem, error) // RemoveImage deletes an image by reference. RemoveImage(ctx context.Context, idOrRef string, force bool) error // AddTag creates target ref for source image. AddTag(ctx context.Context, sourceImage string, targetRef string) error // CheckReference returns imageID, actual reference and primary reference. CheckReference(ctx context.Context, idOrRef string) (digest.Digest, reference.Named, reference.Named, error) // LoadImage creates a set of images by tarstream. LoadImage(ctx context.Context, imageName string, tarstream io.ReadCloser) error }
ImageMgr as an interface defines all operations against images.
type ImageRemoveOption ¶
type ImageRemoveOption struct {
Force bool
}
ImageRemoveOption wraps the image remove interface params.
type NetworkManager ¶
type NetworkManager struct {
// contains filtered or unexported fields
}
NetworkManager is the default implement of interface NetworkMgr.
func NewNetworkManager ¶
func NewNetworkManager(cfg *config.Config, store *meta.Store, ctrMgr ContainerMgr) (*NetworkManager, error)
NewNetworkManager creates a brand new network manager.
func (*NetworkManager) Controller ¶
func (nm *NetworkManager) Controller() libnetwork.NetworkController
Controller returns the network controller.
func (*NetworkManager) Create ¶
func (nm *NetworkManager) Create(ctx context.Context, create apitypes.NetworkCreateConfig) (*types.Network, error)
Create is used to create network.
func (*NetworkManager) EndpointCreate ¶
func (nm *NetworkManager) EndpointCreate(ctx context.Context, endpoint *types.Endpoint) (string, error)
EndpointCreate is used to create network endpoint.
func (*NetworkManager) EndpointInfo ¶
EndpointInfo returns the information of endpoint that specified name/id.
func (*NetworkManager) EndpointList ¶
EndpointList returns all endpoints.
func (*NetworkManager) EndpointRemove ¶
EndpointRemove is used to remove network endpoint.
func (*NetworkManager) Get ¶
Get returns the information of network for specified string that represent network name or ID. If network name is given, the network with same name is returned. If prefix of network ID is given, the network with same prefix is returned.
func (*NetworkManager) GetNetworkByName ¶
func (nm *NetworkManager) GetNetworkByName(name string) (*types.Network, error)
GetNetworkByName returns the information of network that specified name.
func (*NetworkManager) GetNetworkByPartialID ¶
func (nm *NetworkManager) GetNetworkByPartialID(partialID string) (*types.Network, error)
GetNetworkByPartialID returns the information of network that ID starts with the given prefix. If there are not matching networks, it fails with ErrNotfound. If there are multiple matching networks, it fails with ErrTooMany.
func (*NetworkManager) GetNetworksByPartialID ¶
func (nm *NetworkManager) GetNetworksByPartialID(partialID string) []*types.Network
GetNetworksByPartialID returns a list of networks that ID starts with the given prefix.
type NetworkMgr ¶
type NetworkMgr interface { // Create is used to create network. Create(ctx context.Context, create apitypes.NetworkCreateConfig) (*types.Network, error) // Get returns the information of network that specified name/id. Get(ctx context.Context, name string) (*types.Network, error) // List returns all networks on this host. List(ctx context.Context, labels map[string]string) ([]*types.Network, error) // NetworkRemove is used to delete an existing network. Remove(ctx context.Context, name string) error // EndpointCreate is used to create network endpoint. EndpointCreate(ctx context.Context, endpoint *types.Endpoint) (string, error) // EndpointInfo returns the information of endpoint that specified name/id. EndpointInfo(ctx context.Context, name string) (*types.Endpoint, error) // EndpointList returns all endpoints. EndpointList(ctx context.Context) ([]*types.Endpoint, error) // EndpointRemove is used to remove network endpoint. EndpointRemove(ctx context.Context, endpoint *types.Endpoint) error // Controller returns the network controller. Controller() libnetwork.NetworkController }
NetworkMgr defines interface to manage container network.
type SpecWrapper ¶
type SpecWrapper struct {
// contains filtered or unexported fields
}
SpecWrapper wraps the container's specs and add manager operations.
type SystemManager ¶
type SystemManager struct {
// contains filtered or unexported fields
}
SystemManager is an instance of system management.
func NewSystemManager ¶
func NewSystemManager(cfg *config.Config, store *meta.Store, imageManager ImageMgr) (*SystemManager, error)
NewSystemManager creates a brand new system manager.
func (*SystemManager) Auth ¶
func (mgr *SystemManager) Auth(auth *types.AuthConfig) (string, error)
Auth to log in to a registry.
func (*SystemManager) Info ¶
func (mgr *SystemManager) Info() (types.SystemInfo, error)
Info shows system information of daemon.
func (*SystemManager) UpdateDaemon ¶
func (mgr *SystemManager) UpdateDaemon(cfg *types.DaemonUpdateConfig) error
UpdateDaemon updates config of daemon, only label and image proxy are allowed.
func (*SystemManager) Version ¶
func (mgr *SystemManager) Version() (types.SystemVersion, error)
Version shows version of daemon.
type SystemMgr ¶
type SystemMgr interface { Info() (types.SystemInfo, error) Version() (types.SystemVersion, error) Auth(*types.AuthConfig) (string, error) UpdateDaemon(*types.DaemonUpdateConfig) error }
SystemMgr as an interface defines all operations against host.
type VolumeManager ¶
type VolumeManager struct {
// contains filtered or unexported fields
}
VolumeManager is the default implement of interface VolumeMgr.
func NewVolumeManager ¶
func NewVolumeManager(cfg volume.Config) (*VolumeManager, error)
NewVolumeManager creates a brand new volume manager.
func (*VolumeManager) Attach ¶
func (vm *VolumeManager) Attach(ctx context.Context, name string, options map[string]string) (*types.Volume, error)
Attach is used to bind a volume to container.
func (*VolumeManager) Create ¶
func (vm *VolumeManager) Create(ctx context.Context, name, driver string, options, labels map[string]string) (*types.Volume, error)
Create is used to create volume.
func (*VolumeManager) Detach ¶
func (vm *VolumeManager) Detach(ctx context.Context, name string, options map[string]string) (*types.Volume, error)
Detach is used to unbind a volume from container.
func (*VolumeManager) List ¶
func (vm *VolumeManager) List(ctx context.Context, labels map[string]string) ([]*types.Volume, error)
List returns all volumes on this host.
type VolumeMgr ¶
type VolumeMgr interface { // Create is used to create volume. Create(ctx context.Context, name, driver string, options, labels map[string]string) (*types.Volume, error) // Get returns the information of volume that specified name/id. Get(ctx context.Context, name string) (*types.Volume, error) // List returns all volumes on this host. List(ctx context.Context, labels map[string]string) ([]*types.Volume, error) // Remove is used to delete an existing volume. Remove(ctx context.Context, name string) error // Path returns the mount path of volume. Path(ctx context.Context, name string) (string, error) // Attach is used to bind a volume to container. Attach(ctx context.Context, name string, options map[string]string) (*types.Volume, error) // Detach is used to unbind a volume from container. Detach(ctx context.Context, name string, options map[string]string) (*types.Volume, error) }
VolumeMgr defines interface to manage container volume.
Source Files ¶
- container.go
- container_exec.go
- container_logs.go
- container_monitor.go
- container_rich_mode.go
- container_state.go
- container_types.go
- container_utils.go
- container_validation.go
- image.go
- image_load.go
- image_store.go
- image_types.go
- image_utils.go
- network.go
- network_utils.go
- spec.go
- spec_annotations.go
- spec_hook.go
- spec_linux.go
- spec_mount.go
- spec_process.go
- system.go
- volume.go