docker

package module
v0.0.0-...-32eaf10 Latest Latest
Warning

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

Go to latest
Published: May 10, 2024 License: Apache-2.0 Imports: 17 Imported by: 2

README

docker

container

  • GetContainerIDByName: 根据名称获取指定容器ID(Done
  • ListContainer: 获取所有容器(Done
  • CreateContainer:创建容器(Done
  • StartContainer: 启动容器(Done
  • StopContainer: 停止容器(Done
  • RestartContainer: 重启容器(Done
  • DeleteContainer:删除容器(Done
  • CopyFileToContainer: 向容器中拷贝文件(Done
  • GetContainerMem:获取指定容器的内存使用情况,单位MB(Done
  • GetContainerCPU: 获取指定容器 CPU 使用情况,单位百分比(Done
  • ContainerLogs: 查看指定容器的日志(Done
  • RenameContainer: 重命名容器(Done

image

  • ListImage:获取本地所有的镜像信息,类似 docker images(Done
  • GetImageByName:根据 imageName 获取 Image 详情(Done
  • GetImageByID: 根据 imageID 获取 Image 详情(Done
  • RemoveImage: 删除镜像(Done
  • PruneImages: 清理虚悬镜像(Done
  • ImportImage: 镜像导入(Done
  • ExportImage: 镜像导出(Done
  • TagImage: 修改镜像 tag(Done
  • SearchImage: 镜像查找(Done

network

  • ListNetwork:获取所有 Docker 网络(Done
  • QueryNetwork: 根据 network ID 获取 network 详情(Done
  • CreateNetwork: 创建 Docker 网络(Done
  • DeleteNetwork:删除 Docker 网络(Done
  • PruneNetWork: 清理虚悬 Docker 网络(Done

volume

  • ListVolume: 获取所有 Docker 数据卷
  • CreateVolume: 创建 Docker 数据卷
  • DeleteVolume: 删除 Docker 数据卷
  • PruneVolume: 清理 Docker 数据卷

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 网络操作

Package docker Date: 2024/5/10 16:38 Author: Amu Description:

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, driver string, internal bool) (string, error)

CreateNetwork creates a new network.

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

DeleteNetwork removes a network by network id.

func (*Manager) ExportImage

func (m *Manager) ExportImage(ctx context.Context, imageIDs []string, targetFile string) error

ExportImage 镜像导出

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) ImportImage

func (m *Manager) ImportImage(ctx context.Context, sourceFile string) error

ImportImage 镜像导入

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)

ListNetwork lists all networks.

func (*Manager) PruneImages

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

func (*Manager) PruneNetwork

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

PruneNetwork removes all dangling networks.

func (*Manager) PullImage

func (m *Manager) PullImage(ctx context.Context, term string) error

PullImage 根据名称拉去镜像,term 可以是 镜像名称(ubuntu 会拉去 ubuntu:latest) 也可以是 镜像名称:tag(ubuntu:18.04)

func (*Manager) QueryNetwork

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

QueryNetwork queries a network by its ID.

func (*Manager) RemoveImage

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

func (*Manager) RenameContainer

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

func (*Manager) RestartContainer

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

RestartContainer 重启指定容器

func (*Manager) SearchImage

func (m *Manager) SearchImage(ctx context.Context, term string) ([]registry.SearchResult, error)

SearchImage 通过关键词查找镜像

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) TagImage

func (m *Manager) TagImage(ctx context.Context, oldTag string, newTag string) error

TagImage 修改镜像 tag oldTag: ubuntu:latest newTag ubuntu:22.04

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