docker_api

package
v1.2.40 Latest Latest
Warning

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

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

Documentation

Overview

Package docker_api

Index

Constants

View Source
const (
	PlatformLinuxAmd64   = internal_api.Linux + "/" + internal_api.Amd64
	PlatformLinuxArm64   = internal_api.Linux + "/" + internal_api.Arm64
	PlatformDarwinArm64  = internal_api.Darwin + "/" + internal_api.Arm64
	PlatformDarwinAmd64  = internal_api.Darwin + "/" + internal_api.Amd64
	PlatformWindowsAmd64 = internal_api.Windows + "/" + internal_api.Amd64
)
View Source
const (
	NetworkBridge = "bridge"
	NetworkHost   = "host"
	NetworkNone   = "none"
)
View Source
const (
	TagLatest = "latest"
)

Variables

View Source
var ErrAbsRefStr = errors.New("image absolutely refStr format error")
View Source
var ErrNotFoundImageAnyWhere = errors.New("not found image refStr in anywhere")
View Source
var ErrProjectNotFound = errors.New("project not found error")

Functions

This section is empty.

Types

type Artifact added in v1.2.35

type Artifact struct {
	// ex. docker.io
	Registry string

	// ex. Dockerhub is username, Harbor is project
	Project string

	// must use Artifact.SetName
	Name string

	// must use Artifact.SetTag
	Tag string

	// must use Artifact.SetDigest
	Digest string
	// contains filtered or unexported fields
}

func ParseToArtifact added in v1.2.35

func ParseToArtifact(s string) (arti Artifact)

ParseToArtifact +example: jammy-env +example: jammy-env:v1.6 +example: library/jammy-env:v1.6 +example: 10.112.121.243:8111/library/jammy-env:v1.6 +example: 10.112.121.243:8111/library/jammy-env@sha256:305243c734571da2d100c8c8b3c3167a098cab6049c9a5b066b6021a60fcb966

func (*Artifact) AbsDigestStr added in v1.2.35

func (a *Artifact) AbsDigestStr() string

func (*Artifact) AbsRefStr added in v1.2.35

func (a *Artifact) AbsRefStr() string

func (*Artifact) DigestStr added in v1.2.35

func (a *Artifact) DigestStr() string

func (*Artifact) RefStr added in v1.2.35

func (a *Artifact) RefStr() string

func (*Artifact) SetArtifact added in v1.2.35

func (a *Artifact) SetArtifact(s string) *Artifact

func (*Artifact) SetDigest added in v1.2.35

func (a *Artifact) SetDigest(s string) *Artifact

+example: @sha256:305243c734571da2d100c8c8b3c3167a098cab6049c9a5b066b6021a60fcb966 +example: sha256:305243c734571da2d100c8c8b3c3167a098cab6049c9a5b066b6021a60fcb966

func (*Artifact) SetName added in v1.2.35

func (a *Artifact) SetName(s string) *Artifact

+example: /jammy-env +example: jammy-env

func (*Artifact) SetProject added in v1.2.35

func (a *Artifact) SetProject(s string) *Artifact

+example: /library/ +example: library

func (*Artifact) SetRegistry added in v1.2.35

func (a *Artifact) SetRegistry(s string) *Artifact

+example: http://10.112.121.243:8111 +example: 10.112.121.243:8111/ +example: 10.112.121.243:8111

func (*Artifact) SetTag added in v1.2.35

func (a *Artifact) SetTag(s string) *Artifact

+example: :v1.6 +example: v1.6

type BuildImageRespV1 added in v1.2.35

type BuildImageRespV1 struct {
	docker_client.ImageBuildResp `json:"build_image"`
	TagPushImageResp             `json:"tag_push_image"`
	OSType                       string `json:"os_type"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(hostURL, version string) (*Client, error)

func (*Client) BuildImage added in v1.2.35

func (c *Client) BuildImage(input io.Reader, refStr string) (
	resp BuildImageRespV1, err error)

func (*Client) BuildImageFavOption added in v1.2.35

func (c *Client) BuildImageFavOption(refStr string) types.ImageBuildOptions

func (*Client) BuildImageV2 added in v1.2.40

func (c *Client) BuildImageV2(input io.Reader, refStr string) (
	resp BuildImageRespV1, err error)

func (*Client) BuildImageWithCancel added in v1.2.38

func (c *Client) BuildImageWithCancel(ctx context.Context, input io.Reader, refStr string) (
	resp BuildImageRespV1, cancelFunc *context.CancelFunc, err error)

func (*Client) CreateImageTag added in v1.1.3

func (c *Client) CreateImageTag(toAbsRefStr, fromAbsRefStr string) (io.ReadCloser, error)

func (*Client) CreateImageTagV2 added in v1.2.31

func (c *Client) CreateImageTagV2(toAbsRefStr, fromAbsRefStr string) (resp PushImageOfficialAPIResp, err error)

func (*Client) CreateImageTagV3 added in v1.2.34

func (c *Client) CreateImageTagV3(toAbsRefStr, fromAbsRefStr string) (resp docker_client.EventResp, err error)

func (*Client) Do added in v1.2.30

func (c *Client) Do(cfn ...ClientFunc) error

func (*Client) ExportContainer added in v1.1.4

func (c *Client) ExportContainer(containerID string) (io.ReadCloser, error)

func (*Client) ExportImage added in v1.1.3

func (c *Client) ExportImage(absRefStr string) (resp ExportImageResp, err error)

ExportImage +param absRefStr (1). absolutely reference string for registry/project/repository/artifact/name:tag +desc

(1).if image do not exist in docker host local, pull image to local

(2).get image id by absRefStr

(3).save image to docker host local get io.ReadCloser fd

func (*Client) ExportImageV2 added in v1.2.34

func (c *Client) ExportImageV2(absRefStr string) (resp ExportImageRespV2, err error)

func (*Client) GC added in v1.1.4

func (c *Client) GC(gcFn ...util.Func)

func (*Client) HostImageStorageGC added in v1.1.4

func (c *Client) HostImageStorageGC(gcFunc ...HostImageGCFunc)

HostImageGC cli: docker rmi IMAGE_ID maybe quota by:

1. image CREATED: since, before 2. image SIZE: bytes(B) 3. cache algorithm policy: lru, lfu 4. host disk: bytes(B)

func (*Client) ImportContainer added in v1.1.4

func (c *Client) ImportContainer(destRefStr string) (io.ReadCloser, error)

func (*Client) ImportImage added in v1.1.3

func (c *Client) ImportImage(absRefStr string, input io.Reader) (resp ImportImageResp, err error)

ImportImage +param input

(1). make sure the input file(.tar.gz) metadata attribute image name format is: registry/project/image_name:image_tag

(1.1). or will create new image tag to local

(2). push image to registry

func (*Client) ImportImageV2 added in v1.2.31

func (c *Client) ImportImageV2(absRefStr string, input io.Reader) (resp ImportImageResp, err error)

func (*Client) ImportImageV3 added in v1.2.34

func (c *Client) ImportImageV3(absRefStr string, input io.Reader) (resp ImportImageRespV3, err error)

func (*Client) InspectImage added in v1.1.4

func (c *Client) InspectImage(image string) (types.ImageInspect, error)

InspectImage +param image: sha256ID or refStr

func (*Client) ListContainerFullIds

func (c *Client) ListContainerFullIds() ([]string, error)

func (*Client) ListContainerIds

func (c *Client) ListContainerIds() ([]string, error)

func (*Client) ListContainerNames

func (c *Client) ListContainerNames() ([]string, error)

func (*Client) ListContainers

func (c *Client) ListContainers() ([]types.Container, error)

func (*Client) RegistryAuth added in v1.1.4

func (c *Client) RegistryAuth(config *registry.AuthConfig) (string, error)

func (*Client) WithContext

func (c *Client) WithContext(ctx context.Context) *Client

func (*Client) WithPage

func (c *Client) WithPage(page *util.Page) *Client

func (*Client) WithProject added in v1.2.35

func (c *Client) WithProject(project string) *Client

func (*Client) WithRegistryAuth added in v1.1.4

func (c *Client) WithRegistryAuth(authConfig *registry.AuthConfig) *Client

type ClientFunc added in v1.2.30

type ClientFunc func(client *dockercli.Client) error

type ExportImageResp added in v1.2.31

type ExportImageResp struct {
	RequestRefStr      string
	NotFoundInRegistry bool // absRefStr not found in provided registry.
	NotFoundInLocal    bool // absRefStr not found in docker-server local.
	// deprecated in Client.ExportImageV2
	ImagePulledInfo string        // image pulled information from provided registry.
	ImageFileReader io.ReadCloser `json:"-"` // compressed (.tar, .tar.gz) file reader, It's up to the caller to handle the io.ReadCloser and close it properly.
}

type ExportImageRespV2 added in v1.2.34

type ExportImageRespV2 struct {
	ExportImageResp
	docker_client.ImagePullResp
}

type HostImageGCFunc added in v1.1.3

type HostImageGCFunc util.Func

type ImportImageResp added in v1.2.31

type ImportImageResp struct {
	RequestRefStr string
	LoadedRefStr  string
	// +disable in Client.ImportImageV2
	PushStatus string
	PushDigest string
	Inspect    types.ImageInspect
	PushResp   PushImageOfficialAPIResp
}

type ImportImageRespV3 added in v1.2.34

type ImportImageRespV3 struct {
	RequestRefStr string
	LoadedRefStr  string
	Inspect       types.ImageInspect
	PushResp      docker_client.ImagePushResp
}

type PushImageOfficialAPIResp added in v1.2.31

type PushImageOfficialAPIResp struct {
	Messages []*jsonmessage.JSONMessage
	Aux      []*map[string]any //jsonmessage.JSONMessage .Aux -> []byte -> map[string]any
}

{"status":"The push refers to repository [10.112.121.243:8111/library/hello]"} {"status":"Preparing","progressDetail":{},"id":"ac28800ec8bb"} {"status":"Layer already exists","progressDetail":{},"id":"ac28800ec8bb"} {"status":"v3.0: digest: sha256:d37ada95d47ad12224c205a938129df7a3e52345828b4fa27b03a98825d1e2e7 size: 524"} {"progressDetail":{},"aux":{"Tag":"v3.0","Digest":"sha256:d37ada95d47ad12224c205a938129df7a3e52345828b4fa27b03a98825d1e2e7","Size":524}}

func (*PushImageOfficialAPIResp) GetDigest added in v1.2.31

func (r *PushImageOfficialAPIResp) GetDigest() string

func (*PushImageOfficialAPIResp) GetSize added in v1.2.31

func (r *PushImageOfficialAPIResp) GetSize() string

func (*PushImageOfficialAPIResp) Parse added in v1.2.31

func (r *PushImageOfficialAPIResp) Parse(jsonStrSplitByLineFeed string)

type TagPushImageResp added in v1.2.35

type TagPushImageResp struct {
	Artifact
	docker_client.ImagePushResp
}

Directories

Path Synopsis
Package docker_inst/client.go was generated by codegen, please fix its package dependency, but do not modify its functionality
Package docker_inst/client.go was generated by codegen, please fix its package dependency, but do not modify its functionality

Jump to

Keyboard shortcuts

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