Documentation
¶
Index ¶
Constants ¶
const TypeLayers = "layers"
TypeLayers is used for RootFS.Type for filesystems organized into layers.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChildConfig ¶
type ChildConfig struct {
ContainerID string
Author string
Comment string
DiffID layer.DiffID
ContainerConfig *container.Config
Config *container.Config
}
ChildConfig is the configuration to apply to an Image to create a new Child image. Other properties of the image are copied from the parent.
type DigestWalkFunc ¶ added in v1.13.0
DigestWalkFunc is function called by StoreBackend.Walk
type Exporter ¶ added in v1.10.0
type Exporter interface {
Load(io.ReadCloser, io.Writer, bool) error
// TODO: Load(net.Context, io.ReadCloser, <- chan StatusMessage) error
Save([]string, io.Writer) error
}
Exporter provides interface for loading and saving images
type History ¶ added in v1.10.0
type History struct {
// Created is the timestamp at which the image was created
Created time.Time `json:"created"`
// Author is the name of the author that was specified when committing the image
Author string `json:"author,omitempty"`
// CreatedBy keeps the Dockerfile command used while building the image
CreatedBy string `json:"created_by,omitempty"`
// Comment is the commit message that was set when committing the image
Comment string `json:"comment,omitempty"`
// EmptyLayer is set to true if this history item did not generate a
// layer. Otherwise, the history item is associated with the next
// layer in the RootFS section.
EmptyLayer bool `json:"empty_layer,omitempty"`
}
History stores build commands that were used to create an image
func NewHistory ¶
NewHistory creates a new history struct from arguments, and sets the created time to the current time in UTC
type ID ¶ added in v1.10.0
ID is the content-addressable ID of an image.
func IDFromDigest ¶ added in v1.13.0
IDFromDigest creates an ID from a digest
type Image ¶
type Image struct {
V1Image
Parent ID `json:"parent,omitempty"`
RootFS *RootFS `json:"rootfs,omitempty"`
History []History `json:"history,omitempty"`
OSVersion string `json:"os.version,omitempty"`
OSFeatures []string `json:"os.features,omitempty"`
// contains filtered or unexported fields
}
Image stores the image configuration
func NewChildImage ¶
func NewChildImage(img *Image, child ChildConfig, platform string) *Image
NewChildImage creates a new Image as a child of this image.
func NewFromJSON ¶ added in v1.10.0
NewFromJSON creates an Image configuration from json.
func (*Image) MarshalJSON ¶ added in v1.10.0
MarshalJSON serializes the image to JSON. It sorts the top-level keys so that JSON that's been manipulated by a push/pull cycle with a legacy registry won't end up with a different key order.
func (*Image) OperatingSystem ¶
OperatingSystem returns the image's operating system. If not populated, defaults to the host runtime OS.
type LayerGetReleaser ¶ added in v1.10.0
type LayerGetReleaser interface {
Get(layer.ChainID) (layer.Layer, error)
Release(layer.Layer) ([]layer.Metadata, error)
}
LayerGetReleaser is a minimal interface for getting and releasing images.
type RootFS ¶ added in v1.10.0
RootFS describes images root filesystem This is currently a placeholder that only supports layers. In the future this can be made into an interface that supports different implementations.
type Store ¶ added in v1.10.0
type Store interface {
Create(config []byte) (ID, error)
Get(id ID) (*Image, error)
Delete(id ID) ([]layer.Metadata, error)
Search(partialID string) (ID, error)
SetParent(id ID, parent ID) error
GetParent(id ID) (ID, error)
SetLastUpdated(id ID) error
GetLastUpdated(id ID) (time.Time, error)
Children(id ID) []ID
Map() map[ID]*Image
Heads() map[ID]*Image
}
Store is an interface for creating and accessing images
func NewImageStore ¶ added in v1.10.0
func NewImageStore(fs StoreBackend, os string, ls LayerGetReleaser) (Store, error)
NewImageStore returns new store object for given layer store
type StoreBackend ¶ added in v1.10.0
type StoreBackend interface {
Walk(f DigestWalkFunc) error
Get(id digest.Digest) ([]byte, error)
Set(data []byte) (digest.Digest, error)
Delete(id digest.Digest) error
SetMetadata(id digest.Digest, key string, data []byte) error
GetMetadata(id digest.Digest, key string) ([]byte, error)
DeleteMetadata(id digest.Digest, key string) error
}
StoreBackend provides interface for image.Store persistence
func NewFSStoreBackend ¶ added in v1.10.0
func NewFSStoreBackend(root string) (StoreBackend, error)
NewFSStoreBackend returns new filesystem based backend for image.Store
type V1Image ¶ added in v1.10.0
type V1Image struct {
// ID is a unique 64 character identifier of the image
ID string `json:"id,omitempty"`
// Parent is the ID of the parent image
Parent string `json:"parent,omitempty"`
// Comment is the commit message that was set when committing the image
Comment string `json:"comment,omitempty"`
// Created is the timestamp at which the image was created
Created time.Time `json:"created"`
// Container is the id of the container used to commit
Container string `json:"container,omitempty"`
// ContainerConfig is the configuration of the container that is committed into the image
ContainerConfig container.Config `json:"container_config,omitempty"`
// DockerVersion specifies the version of Docker that was used to build the image
DockerVersion string `json:"docker_version,omitempty"`
// Author is the name of the author that was specified when committing the image
Author string `json:"author,omitempty"`
// Config is the configuration of the container received from the client
Config *container.Config `json:"config,omitempty"`
// Architecture is the hardware that the image is built and runs on
Architecture string `json:"architecture,omitempty"`
// OS is the operating system used to build and run the image
OS string `json:"os,omitempty"`
// Size is the total size of the image including all layers it is composed of
Size int64 `json:",omitempty"`
}
V1Image stores the V1 image configuration.