...

Package volume

import "github.com/docker/docker/volume"
Overview
Index
Subdirectories

Overview ▾

Constants

Scopes define if a volume has is cluster-wide (global) or local only. Scopes are returned by the volume driver when it is queried for capabilities and then set on a volume

const (
    LocalScope  = "local"
    GlobalScope = "global"
)

DefaultDriverName is the driver name used for the driver implemented in the local package.

const DefaultDriverName = "local"

type Capability

Capability defines a set of capabilities that a driver is able to handle.

type Capability struct {
    // Scope is the scope of the driver, `global` or `local`
    // A `global` scope indicates that the driver manages volumes across the cluster
    // A `local` scope indicates that the driver only manages volumes resources local to the host
    // Scope is declared by the driver
    Scope string
}

type DetailedVolume

DetailedVolume wraps a Volume with user-defined labels, options, and cluster scope (e.g., `local` or `global`)

type DetailedVolume interface {
    Labels() map[string]string
    Options() map[string]string
    Scope() string
    Volume
}

type Driver

Driver is for creating and removing volumes.

type Driver interface {
    // Name returns the name of the volume driver.
    Name() string
    // Create makes a new volume with the given name.
    Create(name string, opts map[string]string) (Volume, error)
    // Remove deletes the volume.
    Remove(vol Volume) (err error)
    // List lists all the volumes the driver has
    List() ([]Volume, error)
    // Get retrieves the volume with the requested name
    Get(name string) (Volume, error)
    // Scope returns the scope of the driver (e.g. `global` or `local`).
    // Scope determines how the driver is handled at a cluster level
    Scope() string
}

type LiveRestorer

LiveRestorer is an optional interface that can be implemented by a volume driver It is used to restore any resources that are necessary for a volume to be used by a live-restored container

type LiveRestorer interface {
    // LiveRestoreVolume allows a volume driver which implements this interface to restore any necessary resources (such as reference counting)
    // This is called only after the daemon is restarted with live-restored containers
    // It is called once per live-restored container.
    LiveRestoreVolume(_ context.Context, ref string) error
}

type Volume

Volume is a place to store data. It is backed by a specific driver, and can be mounted.

type Volume interface {
    // Name returns the name of the volume
    Name() string
    // DriverName returns the name of the driver which owns this volume.
    DriverName() string
    // Path returns the absolute path to the volume.
    Path() string
    // Mount mounts the volume and returns the absolute path to
    // where it can be consumed.
    Mount(id string) (string, error)
    // Unmount unmounts the volume when it is no longer in use.
    Unmount(id string) error
    // CreatedAt returns Volume Creation time
    CreatedAt() (time.Time, error)
    // Status returns low-level status information about a volume
    Status() map[string]interface{}
}

Subdirectories

Name Synopsis
..
drivers
local Package local provides the default implementation for volumes.
mounts
service
opts
testutils