Documentation
¶
Index ¶
- type Archiver
- func (archiver *Archiver) CopyFileWithTar(src, dst string) (retErr error)
- func (archiver *Archiver) CopyWithTar(src, dst string) error
- func (archiver *Archiver) IdentityMapping() *idtools.IdentityMapping
- func (archiver *Archiver) TarUntar(src, dst string) error
- func (archiver *Archiver) UntarPath(src, dst string) error
- type ContainerFS
- type Driver
- type TarFunc
- type UntarFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Archiver ¶
type Archiver struct {
SrcDriver Driver
DstDriver Driver
Tar TarFunc
Untar UntarFunc
IDMapping *idtools.IdentityMapping
}
Archiver provides a similar implementation of the archive.Archiver package with the rootfs abstraction
func (*Archiver) CopyFileWithTar ¶
CopyFileWithTar emulates the behavior of the 'cp' command-line for a single file. It copies a regular file from path `src` to path `dst`, and preserves all its metadata.
func (*Archiver) CopyWithTar ¶
CopyWithTar creates a tar archive of filesystem path `src`, and unpacks it at filesystem path `dst`. The archive is streamed directly with fixed buffering and no intermediary disk IO.
func (*Archiver) IdentityMapping ¶
func (archiver *Archiver) IdentityMapping() *idtools.IdentityMapping
IdentityMapping returns the IdentityMapping of the archiver.
type ContainerFS ¶
type ContainerFS interface {
// Path returns the path to the root. Note that this may not exist
// on the local system, so the continuity operations must be used
Path() string
// ResolveScopedPath evaluates the given path scoped to the root.
// For example, if root=/a, and path=/b/c, then this function would return /a/b/c.
// If rawPath is true, then the function will not preform any modifications
// before path resolution. Otherwise, the function will clean the given path
// by making it an absolute path.
ResolveScopedPath(path string, rawPath bool) (string, error)
Driver
}
ContainerFS is that represents a root file system
func NewLocalContainerFS ¶
func NewLocalContainerFS(path string) ContainerFS
NewLocalContainerFS is a helper function to implement daemon's Mount interface when the graphdriver mount point is a local path on the machine.
type Driver ¶
type Driver interface {
// OS returns the OS where the rootfs is located. Essentially,
// runtime.GOOS for everything aside from LCOW, which is "linux"
OS() string
// Architecture returns the hardware architecture where the
// container is located.
Architecture() string
// Driver & PathDriver provide methods to manipulate files & paths
driver.Driver
pathdriver.PathDriver
}
Driver combines both continuity's Driver and PathDriver interfaces with a Platform field to determine the OS.
func NewLocalDriver ¶
func NewLocalDriver() Driver
NewLocalDriver provides file and path drivers for a local file system. They are essentially a wrapper around the `os` and `filepath` functions.
type TarFunc ¶
type TarFunc func(string, *archive.TarOptions) (io.ReadCloser, error)
TarFunc provides a function definition for a custom Tar function