README
¶
Docker volume extension api.
Go handler to create external volume extensions for Docker.
Usage
This library is designed to be integrated in your program.
- Implement the
volume.Driver
interface. - Initialize a
volume.Hander
with your implementation. - Call either
ServeTCP
orServeUnix
from thevolume.Handler
.
Example using TCP sockets:
d := MyVolumeDriver{}
h := volume.NewHandler(d)
h.ServeTCP("test_volume", ":8080")
Example using Unix sockets:
d := MyVolumeDriver{}
h := volume.NewHandler(d)
h.ServeUnix("root", "test_volume")
Full example plugins
Documentation
¶
Index ¶
Constants ¶
View Source
const (
// DefaultDockerRootDirectory is the default directory where volumes will be created.
DefaultDockerRootDirectory = "/var/lib/docker-volumes"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver interface {
Create(Request) Response
List(Request) Response
Get(Request) Response
Remove(Request) Response
Path(Request) Response
Mount(Request) Response
Unmount(Request) Response
}
Driver represent the interface a driver must fulfill.
type Handler ¶
type Handler struct {
sdk.Handler
// contains filtered or unexported fields
}
Handler forwards requests and responses between the docker daemon and the plugin.
func NewHandler ¶
func NewHandler(driver Driver) *Handler
NewHandler initializes the request handler with a driver implementation.
type Request ¶
type Request struct {
Name string
Options map[string]string `json:"Opts,omitempty"`
}
Request is the structure that docker's requests are deserialized to.
Click to show internal directories.
Click to hide internal directories.