docker

package module
v0.0.0-...-07fd573 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

README

docker operator

compose

docker-compose.yaml 文件生成。

Documentation

Overview

Package docker Date: 2023/4/19 14:19 Author: Amu Description: docker 容器操作

Package docker Date: 2023/4/19 15:29 Author: Amu Description:

Package docker Date: 2023/4/19 15:24 Author: Amu Description:

Package docker Date: 2023/4/19 14:19 Author: Amu Description: docker 网络操作

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ContainerSummary

type ContainerSummary struct {
	ID      string `json:"id"`      // ID
	Name    string `json:"name"`    // Name
	Image   string `json:"image"`   // Image
	State   string `json:"state"`   // State: created running paused restarting removing exited dead
	Created string `json:"created"` // create time
	Uptime  string `json:"uptime"`  // uptime in seconds
	IP      string `json:"ip"`      // ip
}

type Image

type Image struct {
	ID      string
	Name    string
	Tag     string
	Created string
	Size    string
}

type Manager

type Manager struct {
	Client *client.Client
}

func NewManager

func NewManager() (*Manager, error)

func (*Manager) ContainerLogs

func (m *Manager) ContainerLogs(ctx context.Context, containerID string) (io.ReadCloser, error)

func (*Manager) CopyFileToContainer

func (m *Manager) CopyFileToContainer(ctx context.Context, containerID, srcFile, dstFile string) error

CopyFileToContainer 向容器中拷贝文件

func (*Manager) CreateContainer

func (m *Manager) CreateContainer(ctx context.Context, imageTag string, networkID string, containerName string) (string, error)

CreateContainer 根据条件创建容器(各种条件会比较复杂),创建成功后返回 containerID,此时容器状态为 created

func (*Manager) CreateNetwork

func (m *Manager) CreateNetwork(ctx context.Context, name string, internal bool) (string, error)

func (*Manager) DeleteContainer

func (m *Manager) DeleteContainer(ctx context.Context, containerID string) error

DeleteContainer 删除指定容器

func (*Manager) DeleteNetwork

func (m *Manager) DeleteNetwork(ctx context.Context, networkID string) error

func (*Manager) GetContainerCPU

func (m *Manager) GetContainerCPU(ctx context.Context, containerID string) (float64, error)

GetContainerCPU 获取指定容器 CPU 使用情况,单位百分比

func (*Manager) GetContainerIDByName

func (m *Manager) GetContainerIDByName(ctx context.Context, name string) (string, error)

GetContainerIDByName 根据名称获取指定 container ID

func (*Manager) GetContainerMem

func (m *Manager) GetContainerMem(ctx context.Context, containerID string) (float64, float64, float64, error)

GetContainerMem 获取指定容器的内存使用情况,单位 MB

func (*Manager) GetImageByID

func (m *Manager) GetImageByID(ctx context.Context, imageID string) (*Image, error)

GetImageByID 根据 imageID 获取 Image 详情

func (*Manager) GetImageByName

func (m *Manager) GetImageByName(ctx context.Context, imageName string) (*Image, error)

GetImageByName 根据 imageName 获取 Image 详情, imageName -> image:latest

func (*Manager) JoinNetwork

func (m *Manager) JoinNetwork(ctx context.Context, containerID string, networkID string) error

func (*Manager) LeaveNetwork

func (m *Manager) LeaveNetwork(ctx context.Context, containerID string, networkID string) error

func (*Manager) ListContainer

func (m *Manager) ListContainer(ctx context.Context) ([]ContainerSummary, error)

ListContainer 获取所有容器 []ContainerSummary

func (*Manager) ListImage

func (m *Manager) ListImage(ctx context.Context) ([]Image, error)

ListImage 获取本地所有的镜像信息,类似 docker images

func (*Manager) ListNetwork

func (m *Manager) ListNetwork(ctx context.Context) ([]Network, error)

func (*Manager) PruneImages

func (m *Manager) PruneImages(ctx context.Context) error

func (*Manager) QueryNetwork

func (m *Manager) QueryNetwork(ctx context.Context, networkID string) (*Network, error)

func (*Manager) RemoveImage

func (m *Manager) RemoveImage(ctx context.Context, imageID string) error

func (*Manager) RestartContainer

func (m *Manager) RestartContainer(ctx context.Context, containerID string) error

RestartContainer 重启指定容器

func (*Manager) StartContainer

func (m *Manager) StartContainer(ctx context.Context, containerID string) error

StartContainer 根据 containerID 启动容器

func (*Manager) StopContainer

func (m *Manager) StopContainer(ctx context.Context, containerID string) error

StopContainer stop 指定容器

func (*Manager) UpdateNetwork

func (m *Manager) UpdateNetwork(ctx context.Context) error

func (*Manager) Version

func (m *Manager) Version(ctx context.Context) (*Version, error)

type Network

type Network struct {
	ID         string
	Name       string
	Driver     string
	Scope      string
	Created    string
	Internal   bool
	IPAM       network.IPAM
	Containers map[string]string // map[cid]ipaddr
}

type Version

type Version struct {
	DockerVersion string `json:"docker_version"`
	APIVersion    string `json:"api_version"`
	MinAPIVersion string `json:"min_api_version"`
	GitCommit     string `json:"git_commit"`
	GoVersion     string `json:"go_version"`
	OS            string `json:"os"`
	Arch          string `json:"arch"`
}

Directories

Path Synopsis
Package compose Date: 2023/4/6 15:45 Author: Amu Description:
Package compose Date: 2023/4/6 15:45 Author: Amu Description:

Jump to

Keyboard shortcuts

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