docker

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2020 License: Apache-2.0 Imports: 10 Imported by: 3

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Clients provide operations on Docker commands.

func NewClient

func NewClient() (*Client, error)

NewClient creates a new Client.

Example
package main

import (
	"fmt"

	"github.com/k-kinzal/aliases/pkg/docker"
)

func main() {
	client, err := docker.NewClient()
	if err != nil {
		panic(err)
	}
	fmt.Println(client.Host())
}
Output:

unix:///tmp/docker.sock

func (*Client) ClientVersion

func (client *Client) ClientVersion() (*ClientVersion, error)

ClientVersion returns client info.

func (*Client) Host

func (client *Client) Host() string

Host return DOCKER_HOST

Example
package main

import (
	"fmt"

	"github.com/k-kinzal/aliases/pkg/docker"
)

func main() {
	client, err := docker.NewClient()
	if err != nil {
		panic(err)
	}

	fmt.Println(client.Host())
}
Output:

unix:///tmp/docker.sock

func (*Client) Path

func (client *Client) Path() string

Path returns the path to binary of docker.

func (*Client) Proto

func (client *Client) Proto() string

Proto returns the protocol of DOCKER_HOST

Example
package main

import (
	"fmt"

	"github.com/k-kinzal/aliases/pkg/docker"
)

func main() {
	client, err := docker.NewClient()
	if err != nil {
		panic(err)
	}

	fmt.Println(client.Proto())
}
Output:

unix

func (*Client) Run

func (client *Client) Run(image string, args []string, option RunOption) *posix.Cmd

Run returns a command that can execute docker run.

Example
package main

import (
	"fmt"

	"github.com/k-kinzal/aliases/pkg/docker"
)

func ptr(s string) *string {
	return &s
}

func main() {
	client, err := docker.NewClient()
	if err != nil {
		panic(err)
	}

	opt := docker.RunOption{
		Env: map[string]string{
			"FOO": "bar",
		},
		Interactive: ptr("true"),
		Rm:          ptr("true"),
		TTY:         ptr("true"),
	}
	cmd := client.Run("alpine", []string{"sh", "-c", "echo 1"}, opt)
	fmt.Println(cmd)
}
Output:

docker run --env FOO="bar" --interactive --rm --tty alpine sh -c "echo 1"

func (*Client) ServerVersion

func (client *Client) ServerVersion() (*ServerVersion, error)

ServerVersion returns server info.

func (*Client) Sock

func (client *Client) Sock() *string

Sock returns the path to socket for docker.

Example
package main

import (
	"fmt"

	"github.com/k-kinzal/aliases/pkg/docker"
)

func main() {
	client, err := docker.NewClient()
	if err != nil {
		panic(err)
	}

	fmt.Println(*client.Sock())
}
Output:

/tmp/docker.sock

func (*Client) Version

func (client *Client) Version(option VersionOption) *posix.Cmd

Version returns a command that can execute docker version.

Example
package main

import (
	"fmt"

	"github.com/k-kinzal/aliases/pkg/docker"
)

func main() {
	client, err := docker.NewClient()
	if err != nil {
		panic(err)
	}

	cmd := client.Version(docker.VersionOption{})
	fmt.Println(cmd)
}
Output:

docker version

type ClientVersion

type ClientVersion struct {
	Version    string
	APIVersion string
	GOVersion  string
	GitCommit  string
	Build      string
	OS         string
	Arch       string
}

ClientVersion is client info.

Client: Docker Engine - Community

Version:           18.09.1
API version:       1.39
Go version:        go1.10.6
Git commit:        4c52b90
Built:             Wed Jan  9 19:33:12 2019
OS/Arch:           darwin/amd64
Experimental:      false

type RunOption

type RunOption struct {
	AddHost             []string
	Attach              []string
	BlkioWeight         *string
	BlkioWeightDevice   []string
	CIDFile             *string
	CPUPeriod           *string
	CPUQuota            *string
	CPURtPeriod         *string
	CPURtRuntime        *string
	CPUShares           *string
	CPUs                *string
	CPUsetCPUs          *string
	CPUsetMems          *string
	CapAdd              []string
	CapDrop             []string
	CgroupParent        *string
	DNS                 []string
	DNSOption           []string
	DNSSearch           []string
	Detach              *string
	DetachKeys          *string
	Device              []string
	DeviceCgroupRule    []string
	DeviceReadBPS       []string
	DeviceReadIOPS      []string
	DeviceWriteBPS      []string
	DeviceWriteIOPS     []string
	DisableContentTrust *string
	Domainname          *string
	Entrypoint          *string
	Env                 map[string]string
	EnvFile             []string
	Expose              []string
	GroupAdd            []string
	HealthCmd           *string
	HealthInterval      *string
	HealthRetries       *string
	HealthStartPeriod   *string
	HealthTimeout       *string
	Hostname            *string
	IP                  *string
	IP6                 *string
	IPC                 *string
	Init                *string
	Interactive         *string
	Isolation           *string
	KernelMemory        *string
	Label               map[string]string
	LabelFile           []string
	Link                []string
	LinkLocalIP         []string
	LogDriver           *string
	LogOpt              map[string]string
	MacAddress          *string
	Memory              *string
	MemoryReservation   *string
	MemorySwap          *string
	MemorySwappiness    *string
	Mount               map[string]string
	Name                *string
	Network             *string
	NetworkAlias        []string
	NoHealthcheck       *string
	OOMKillDisable      *string
	OOMScoreAdj         *string
	PID                 *string
	PidsLimit           *string
	Platform            *string
	Privileged          *string
	Publish             []string
	PublishAll          *string
	ReadOnly            *string
	Restart             *string
	Rm                  *string
	Runtime             *string
	SecurityOpt         map[string]string
	ShmSize             *string
	SigProxy            *string
	StopSignal          *string
	StopTimeout         *string
	StorageOpt          map[string]string
	Sysctl              map[string]string
	TTY                 *string
	Tmpfs               []string
	UTS                 *string
	Ulimit              map[string]string
	User                *string
	Userns              *string
	Volume              []string
	VolumeDriver        *string
	VolumesFrom         []string
	Workdir             *string
}

RunOption is an option for executing docker run.

type ServerVersion

type ServerVersion struct {
	Version    string
	APIVersion string
	GOVersion  string
	GitCommit  string
	Build      string
	OS         string
	Arch       string
}

ServerVersion is client info.

Server: Docker Engine - Community

Engine:
 Version:          18.09.1
 API version:      1.39 (minimum version 1.12)
 Go version:       go1.10.6
 Git commit:       4c52b90
 Built:            Wed Jan  9 19:41:49 2019
 OS/Arch:          linux/amd64
 Experimental:     true

type VersionOption

type VersionOption struct {
	Format     *string
	Kubeconfig *string
}

VersionOption is an option for executing docker version.

Jump to

Keyboard shortcuts

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