Help us shape the future of Go! Take the 2026 Go Developer Survey

docker

package
v0.3.622 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2018 License: Apache-2.0 Imports: 26 Imported by: 8

Documentation

Overview

Package docker provides a Docker driver for Fn. Provides an implementation of

github.com/fnproject/fn/api/agent/drivers.Driver

that knows how to run Docker images.

Index

Constants

View Source
const (
	LimitPerSec = 10
	LimitBurst  = 20
)

Variables

View Source
var (
	ErrorPoolEmpty = errors.New("docker pre fork pool empty")
)

Functions

func RecordWaitContainerResult

func RecordWaitContainerResult(ctx context.Context, exitCode int)

func RegisterViews

func RegisterViews(tagKeys []string, latencyDist []float64)

RegisterViews creates and registers views with provided tag keys

Types

type Auther

type Auther interface {
	// DockerAuth should return docker auth credentials that will authenticate
	// against a docker registry for a given drivers.ContainerTask.Image(). An
	// error may be returned which will cause the task not to be run, this can be
	// useful for an implementer to do things like testing auth configurations
	// before returning them; e.g. if the implementer would like to impose
	// certain restrictions on images or if credentials must be acquired right
	// before runtime and there's an error doing so. If these credentials don't
	// work, the docker pull will fail and the task will be set to error status.
	DockerAuth() (*docker.AuthConfiguration, error)
}

A drivers.ContainerTask should implement the Auther interface if it would like to use not-necessarily-public docker images for any or all task invocations.

type DockerDriver

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

func NewDocker

func NewDocker(conf drivers.Config) *DockerDriver

implements drivers.Driver

func (*DockerDriver) Close

func (drv *DockerDriver) Close() error

func (*DockerDriver) CreateCookie

func (drv *DockerDriver) CreateCookie(ctx context.Context, task drivers.ContainerTask) (drivers.Cookie, error)

func (*DockerDriver) PrepareCookie

func (drv *DockerDriver) PrepareCookie(ctx context.Context, cookie drivers.Cookie) error

Obsoleted.

type DockerPool

type DockerPool interface {
	// fetch a pre-allocated free id from the pool
	// may return too busy error.
	AllocPoolId() (string, error)

	// Release the id back to the pool
	FreePoolId(id string)

	// stop and terminate the pool
	Close() error

	// returns inuse versus free
	Usage() DockerPoolStats
}

func NewDockerPool

func NewDockerPool(conf drivers.Config, driver *DockerDriver) DockerPool

type DockerPoolStats

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

type PoolTaskStateType

type PoolTaskStateType int
const (
	PoolTaskStateInit  PoolTaskStateType = iota // initializing
	PoolTaskStateReady                          // ready to be run
)

Jump to

Keyboard shortcuts

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