package docker
import "github.com/docker/docker"
Index ¶
- Constants
- Variables
- func CmdStream(cmd *exec.Cmd) (io.Reader, error)
- func ComputeId(content io.Reader) (string, error)
- func Debugf(format string, a ...interface{})
- func Download(url string, stderr io.Writer) (*http.Response, error)
- func GenerateId() string
- func Go(f func() error) chan error
- func HumanDuration(d time.Duration) string
- func MountAUFS(ro []string, rw string, target string) error
- func Mounted(mountpoint string) (bool, error)
- func NopWriteCloser(w io.Writer) io.WriteCloser
- func ProgressReader(r io.ReadCloser, size int, output io.Writer) *progressReader
- func SelfPath() string
- func StoreImage(img *Image, layerData Archive, root string) error
- func SysInit()
- func Tar(path string, compression Compression) (io.Reader, error)
- func Trunc(s string, maxlen int) string
- func Unmount(target string) error
- func Untar(archive io.Reader, path string) error
- func ValidateId(id string) error
- type Archive
- type Change
- type ChangeType
- type Compression
- type Config
- type Container
- func (container *Container) Changes() ([]Change, error)
- func (container *Container) Cmd() *exec.Cmd
- func (container *Container) EnsureMounted() error
- func (container *Container) Export() (Archive, error)
- func (container *Container) ExportRw() (Archive, error)
- func (container *Container) FromDisk() error
- func (container *Container) GetImage() (*Image, error)
- func (container *Container) Kill() error
- func (container *Container) Mount() error
- func (container *Container) Mounted() (bool, error)
- func (container *Container) Output() (output []byte, err error)
- func (container *Container) ReadLog(name string) (io.Reader, error)
- func (container *Container) Restart() error
- func (container *Container) RootfsPath() string
- func (container *Container) Run() error
- func (container *Container) Start() error
- func (container *Container) StderrPipe() (io.ReadCloser, error)
- func (container *Container) StdinPipe() (io.WriteCloser, error)
- func (container *Container) StdoutPipe() (io.ReadCloser, error)
- func (container *Container) Stop() error
- func (container *Container) ToDisk() (err error)
- func (container *Container) Unmount() error
- func (container *Container) Wait() int
- func (container *Container) WaitTimeout(timeout time.Duration) error
- func (container *Container) When() time.Time
- type Graph
- func NewGraph(root string) (*Graph, error)
- func (graph *Graph) All() ([]*Image, error)
- func (graph *Graph) ByParent() (map[string][]*Image, error)
- func (graph *Graph) Create(layerData Archive, container *Container, comment string) (*Image, error)
- func (graph *Graph) Delete(id string) error
- func (graph *Graph) Exists(id string) bool
- func (graph *Graph) Garbage() (*Graph, error)
- func (graph *Graph) GarbageCollect() error
- func (graph *Graph) Get(id string) (*Image, error)
- func (graph *Graph) Heads() (map[string]*Image, error)
- func (graph *Graph) LookupRemoteImage(imgId string, authConfig *auth.AuthConfig) bool
- func (graph *Graph) LookupRemoteRepository(remote string, authConfig *auth.AuthConfig) bool
- func (graph *Graph) Map() (map[string]*Image, error)
- func (graph *Graph) Mktemp(id string) (string, error)
- func (graph *Graph) PullImage(imgId string, authConfig *auth.AuthConfig) error
- func (graph *Graph) PullRepository(stdout io.Writer, remote, askedTag string, repositories *TagStore, authConfig *auth.AuthConfig) error
- func (graph *Graph) PushImage(stdout io.Writer, imgOrig *Image, authConfig *auth.AuthConfig) error
- func (graph *Graph) PushRepository(stdout io.Writer, remote string, localRepo Repository, authConfig *auth.AuthConfig) error
- func (graph *Graph) Register(layerData Archive, img *Image) error
- func (graph *Graph) Undelete(id string) error
- func (graph *Graph) WalkAll(handler func(*Image)) error
- type History
- func (history *History) Add(container *Container)
- func (history *History) Len() int
- func (history *History) Less(i, j int) bool
- func (history *History) Swap(i, j int)
- type IPAllocator
- func (alloc *IPAllocator) Acquire() (net.IP, error)
- func (alloc *IPAllocator) Release(ip net.IP) error
- type Image
- func LoadImage(root string) (*Image, error)
- func NewImgJson(src []byte) (*Image, error)
- func NewMultipleImgJson(src []byte) ([]*Image, error)
- func (image *Image) Changes(rw string) ([]Change, error)
- func (img *Image) GetParent() (*Image, error)
- func (img *Image) History() ([]*Image, error)
- func (image *Image) Mount(root, rw string) error
- func (img *Image) WalkHistory(handler func(*Image) error) (err error)
- type ListOpts
- type NetworkInterface
- func (iface *NetworkInterface) AllocatePort(port int) (int, error)
- func (iface *NetworkInterface) Release() error
- type NetworkManager
- type NetworkSettings
- type PortAllocator
- func (alloc *PortAllocator) Acquire() (int, error)
- func (alloc *PortAllocator) Release(port int) error
- type PortMapper
- func (mapper *PortMapper) Map(port int, dest net.TCPAddr) error
- func (mapper *PortMapper) Unmap(port int) error
- type Repository
- type Runtime
- func NewRuntime() (*Runtime, error)
- func NewRuntimeFromDirectory(root string) (*Runtime, error)
- func (runtime *Runtime) Commit(id, repository, tag string) (*Image, error)
- func (runtime *Runtime) Create(config *Config) (*Container, error)
- func (runtime *Runtime) Destroy(container *Container) error
- func (runtime *Runtime) Exists(id string) bool
- func (runtime *Runtime) Get(id string) *Container
- func (runtime *Runtime) List() []*Container
- func (runtime *Runtime) Load(id string) (*Container, error)
- func (runtime *Runtime) LogToDisk(src *writeBroadcaster, dst string) error
- func (runtime *Runtime) Register(container *Container) error
- type Server
- func NewServer() (*Server, error)
- func (srv *Server) CmdAttach(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdCommit(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdDiff(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdExport(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdHistory(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdImages(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdImport(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdInfo(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdInspect(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdKill(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdLogin(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdLogs(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdPort(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdPs(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdPull(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdPush(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdRestart(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdRm(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdRmi(stdin io.ReadCloser, stdout io.Writer, args ...string) (err error)
- func (srv *Server) CmdRun(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdStart(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdStop(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdTag(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdVersion(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) CmdWait(stdin io.ReadCloser, stdout io.Writer, args ...string) error
- func (srv *Server) Help() string
- func (srv *Server) Name() string
- type State
- type TagStore
- func NewTagStore(path string, graph *Graph) (*TagStore, error)
- func (store *TagStore) ById() map[string][]string
- func (store *TagStore) Get(repoName string) (Repository, error)
- func (store *TagStore) GetImage(repoName, tag string) (*Image, error)
- func (store *TagStore) ImageName(id string) string
- func (store *TagStore) LookupImage(name string) (*Image, error)
- func (store *TagStore) Reload() error
- func (store *TagStore) Save() error
- func (store *TagStore) Set(repoName, tag, imageName string, force bool) error
Constants ¶
const ( ChangeModify = iota ChangeAdd ChangeDelete )
const DEFAULT_TAG = "latest"
const LxcTemplate = "" /* 2660 byte string literal not displayed */
const REGISTRY_ENDPOINT = auth.REGISTRY_SERVER + "/v1"
FIXME: Set the endpoint in a conf file or via commandline const REGISTRY_ENDPOINT = "http://registry-creack.dotcloud.com/v1"
const VERSION = "0.1.0"
Variables ¶
Functions ¶
func CmdStream ¶
func ComputeId ¶
ComputeId reads from `content` until EOF, then returns a SHA of what it read, as a string.
func Debugf ¶
func Debugf(format string, a ...interface{})
Debug function, if the debug flag is set, then display. Do nothing otherwise If Docker is in damon mode, also send the debug info on the socket
func Download ¶
Request a given URL and return an io.Reader
func GenerateId ¶
func GenerateId() string
func Go ¶
Go is a basic promise implementation: it wraps calls a function in a goroutine, and returns a channel which will later return the function's return value.
func HumanDuration ¶
HumanDuration returns a human-readable approximation of a duration (eg. "About a minute", "4 hours ago", etc.)
func MountAUFS ¶
func Mounted ¶
func NopWriteCloser ¶
func NopWriteCloser(w io.Writer) io.WriteCloser
func ProgressReader ¶
func ProgressReader(r io.ReadCloser, size int, output io.Writer) *progressReader
func SelfPath ¶
func SelfPath() string
Figure out the absolute path of our own binary
func StoreImage ¶
func SysInit ¶
func SysInit()
Sys Init code This code is run INSIDE the container and is responsible for setting up the environment before running the actual process
func Tar ¶
func Tar(path string, compression Compression) (io.Reader, error)
func Trunc ¶
func Unmount ¶
func Untar ¶
func ValidateId ¶
Types ¶
type Archive ¶
type Change ¶
type Change struct { Path string Kind ChangeType }
func Changes ¶
func (*Change) String ¶
type ChangeType ¶
type ChangeType int
type Compression ¶
type Compression uint32
const ( Uncompressed Compression = iota Bzip2 Gzip )
func (*Compression) Flag ¶
func (compression *Compression) Flag() string
type Config ¶
type Config struct { Hostname string User string Memory int64 // Memory limit (in bytes) MemorySwap int64 // Total memory usage (memory + swap); set `-1' to disable swap Detach bool Ports []int Tty bool // Attach standard streams to a tty, including stdin if it is not closed. OpenStdin bool // Open stdin Env []string Cmd []string Image string // Name of the image as it was passed by the operator (eg. could be symbolic) }
func ParseRun ¶
type Container ¶
type Container struct { Id string Created time.Time Path string Args []string Config *Config State State Image string NetworkSettings *NetworkSettings SysInitPath string // contains filtered or unexported fields }
func (*Container) Changes ¶
func (*Container) Cmd ¶
func (*Container) EnsureMounted ¶
func (*Container) Export ¶
func (*Container) ExportRw ¶
func (*Container) FromDisk ¶
func (*Container) GetImage ¶
func (*Container) Kill ¶
func (*Container) Mount ¶
func (*Container) Mounted ¶
func (*Container) Output ¶
func (*Container) ReadLog ¶
func (*Container) Restart ¶
func (*Container) RootfsPath ¶
This method must be exported to be used from the lxc template
func (*Container) Run ¶
func (*Container) Start ¶
func (*Container) StderrPipe ¶
func (container *Container) StderrPipe() (io.ReadCloser, error)
func (*Container) StdinPipe ¶
func (container *Container) StdinPipe() (io.WriteCloser, error)
StdinPipe() returns a pipe connected to the standard input of the container's active process.
func (*Container) StdoutPipe ¶
func (container *Container) StdoutPipe() (io.ReadCloser, error)
func (*Container) Stop ¶
func (*Container) ToDisk ¶
func (*Container) Unmount ¶
func (*Container) Wait ¶
Wait blocks until the container stops running, then returns its exit code.
func (*Container) WaitTimeout ¶
func (*Container) When ¶
type Graph ¶
type Graph struct { Root string }
func NewGraph ¶
func (*Graph) All ¶
func (*Graph) ByParent ¶
func (*Graph) Create ¶
func (*Graph) Delete ¶
func (*Graph) Exists ¶
func (*Graph) Garbage ¶
func (*Graph) GarbageCollect ¶
func (*Graph) Get ¶
func (*Graph) Heads ¶
func (*Graph) LookupRemoteImage ¶
func (graph *Graph) LookupRemoteImage(imgId string, authConfig *auth.AuthConfig) bool
Check if an image exists in the Registry
func (*Graph) LookupRemoteRepository ¶
func (graph *Graph) LookupRemoteRepository(remote string, authConfig *auth.AuthConfig) bool
func (*Graph) Map ¶
func (*Graph) Mktemp ¶
func (*Graph) PullImage ¶
func (graph *Graph) PullImage(imgId string, authConfig *auth.AuthConfig) error
func (*Graph) PullRepository ¶
func (graph *Graph) PullRepository(stdout io.Writer, remote, askedTag string, repositories *TagStore, authConfig *auth.AuthConfig) error
FIXME: Handle the askedTag parameter
func (*Graph) PushImage ¶
Push a local image to the registry with its history if needed
func (*Graph) PushRepository ¶
func (graph *Graph) PushRepository(stdout io.Writer, remote string, localRepo Repository, authConfig *auth.AuthConfig) error
Push a repository to the registry. Remote has the format '<user>/<repo>
func (*Graph) Register ¶
func (*Graph) Undelete ¶
func (*Graph) WalkAll ¶
type History ¶
type History []*Container
func (*History) Add ¶
func (*History) Len ¶
func (*History) Less ¶
func (*History) Swap ¶
type IPAllocator ¶
type IPAllocator struct {
// contains filtered or unexported fields
}
IP allocator: Atomatically allocate and release networking ports
func (*IPAllocator) Acquire ¶
func (alloc *IPAllocator) Acquire() (net.IP, error)
func (*IPAllocator) Release ¶
func (alloc *IPAllocator) Release(ip net.IP) error
type Image ¶
type Image struct { Id string `json:"id"` Parent string `json:"parent,omitempty"` Comment string `json:"comment,omitempty"` Created time.Time `json:"created"` Container string `json:"container,omitempty"` ContainerConfig Config `json:"container_config,omitempty"` // contains filtered or unexported fields }
func LoadImage ¶
func NewImgJson ¶
Build an Image object from raw json data
func NewMultipleImgJson ¶
Build an Image object list from a raw json data FIXME: Do this in "stream" mode
func (*Image) Changes ¶
func (*Image) GetParent ¶
func (*Image) History ¶
Image includes convenience proxy functions to its graph These functions will return an error if the image is not registered (ie. if image.graph == nil)
func (*Image) Mount ¶
func (*Image) WalkHistory ¶
type ListOpts ¶
type ListOpts []string
ListOpts type
func (*ListOpts) Set ¶
func (*ListOpts) String ¶
type NetworkInterface ¶
type NetworkInterface struct { IPNet net.IPNet Gateway net.IP // contains filtered or unexported fields }
Network interface represents the networking stack of a container
func (*NetworkInterface) AllocatePort ¶
func (iface *NetworkInterface) AllocatePort(port int) (int, error)
Allocate an external TCP port and map it to the interface
func (*NetworkInterface) Release ¶
func (iface *NetworkInterface) Release() error
Release: Network cleanup - release all resources
type NetworkManager ¶
type NetworkManager struct {
// contains filtered or unexported fields
}
Network Manager manages a set of network interfaces Only *one* manager per host machine should be used
func (*NetworkManager) Allocate ¶
func (manager *NetworkManager) Allocate() (*NetworkInterface, error)
Allocate a network interface
type NetworkSettings ¶
type NetworkSettings struct { IpAddress string IpPrefixLen int Gateway string PortMapping map[string]string }
type PortAllocator ¶
type PortAllocator struct {
// contains filtered or unexported fields
}
Port allocator: Atomatically allocate and release networking ports
func (*PortAllocator) Acquire ¶
func (alloc *PortAllocator) Acquire() (int, error)
func (*PortAllocator) Release ¶
func (alloc *PortAllocator) Release(port int) error
type PortMapper ¶
type PortMapper struct {
// contains filtered or unexported fields
}
Port mapper takes care of mapping external ports to containers by setting up iptables rules. It keeps track of all mappings and is able to unmap at will
func (*PortMapper) Map ¶
func (mapper *PortMapper) Map(port int, dest net.TCPAddr) error
func (*PortMapper) Unmap ¶
func (mapper *PortMapper) Unmap(port int) error
type Repository ¶
type Runtime ¶
type Runtime struct {
// contains filtered or unexported fields
}
func NewRuntime ¶
func NewRuntimeFromDirectory ¶
func (*Runtime) Commit ¶
Commit creates a new filesystem image from the current state of a container. The image can optionally be tagged into a repository
func (*Runtime) Create ¶
func (*Runtime) Destroy ¶
func (*Runtime) Exists ¶
func (*Runtime) Get ¶
func (*Runtime) List ¶
func (*Runtime) Load ¶
func (*Runtime) LogToDisk ¶
func (*Runtime) Register ¶
Register makes a container object usable by the runtime as <container.Id>
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func (*Server) CmdAttach ¶
func (*Server) CmdCommit ¶
func (*Server) CmdDiff ¶
func (*Server) CmdExport ¶
func (*Server) CmdHistory ¶
func (*Server) CmdImages ¶
func (*Server) CmdImport ¶
func (*Server) CmdInfo ¶
'docker info': display system-wide information.
func (*Server) CmdInspect ¶
func (*Server) CmdKill ¶
'docker kill NAME' kills a running container
func (*Server) CmdLogin ¶
'docker login': login / register a user to registry service.
func (*Server) CmdLogs ¶
func (*Server) CmdPort ¶
func (*Server) CmdPs ¶
func (*Server) CmdPull ¶
func (*Server) CmdPush ¶
func (*Server) CmdRestart ¶
func (*Server) CmdRm ¶
func (*Server) CmdRmi ¶
'docker rmi NAME' removes all images with the name NAME
func (*Server) CmdRun ¶
func (*Server) CmdStart ¶
func (*Server) CmdStop ¶
func (*Server) CmdTag ¶
func (*Server) CmdVersion ¶
'docker version': show version information
func (*Server) CmdWait ¶
'docker wait': block until a container stops
func (*Server) Help ¶
FIXME: Stop violating DRY by repeating usage here and in Subcmd declarations
func (*Server) Name ¶
type State ¶
type State struct { Running bool Pid int ExitCode int StartedAt time.Time // contains filtered or unexported fields }
func (*State) String ¶
String returns a human-readable description of the state
type TagStore ¶
type TagStore struct { Repositories map[string]Repository // contains filtered or unexported fields }
func NewTagStore ¶
func (*TagStore) ById ¶
Return a reverse-lookup table of all the names which refer to each image Eg. {"43b5f19b10584": {"base:latest", "base:v1"}}
func (*TagStore) Get ¶
func (store *TagStore) Get(repoName string) (Repository, error)
func (*TagStore) GetImage ¶
func (*TagStore) ImageName ¶
func (*TagStore) LookupImage ¶
func (*TagStore) Reload ¶
func (*TagStore) Save ¶
func (*TagStore) Set ¶
Source Files ¶
archive.go changes.go commands.go container.go graph.go image.go lxc_template.go mount.go network.go registry.go runtime.go state.go sysinit.go tags.go utils.go
Directories ¶
Path | Synopsis |
---|---|
auth | |
docker | |
rcli | |
term |
- Version
- v0.1.0
- Published
- Mar 24, 2013
- Platform
- js/wasm
- Imports
- 32 packages
- Last checked
- 1 second ago –
Tools for package owners.