fc7b904dce
`Mounts` allows users to specify in a much safer way the volumes they want to use in the container. This replaces `Binds` and `Volumes`, which both still exist, but `Mounts` and `Binds`/`Volumes` are exclussive. The CLI will continue to use `Binds` and `Volumes` due to concerns with parsing the volume specs on the client side and cross-platform support (for now). The new API follows exactly the services mount API. Example usage of `Mounts`: ``` $ curl -XPOST localhost:2375/containers/create -d '{ "Image": "alpine:latest", "HostConfig": { "Mounts": [{ "Type": "Volume", "Target": "/foo" },{ "Type": "bind", "Source": "/var/run/docker.sock", "Target": "/var/run/docker.sock", },{ "Type": "volume", "Name": "important_data", "Target": "/var/data", "ReadOnly": true, "VolumeOptions": { "DriverConfig": { Name: "awesomeStorage", Options: {"size": "10m"}, Labels: {"some":"label"} } }] } }' ``` There are currently 2 types of mounts: - **bind**: Paths on the host that get mounted into the container. Paths must exist prior to creating the container. - **volume**: Volumes that persist after the container is removed. Not all fields are available in each type, and validation is done to ensure these fields aren't mixed up between types. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
24 lines
736 B
Go
24 lines
736 B
Go
// +build !linux
|
|
|
|
package volume
|
|
|
|
import mounttypes "github.com/docker/docker/api/types/mount"
|
|
|
|
// DefaultPropagationMode is used only in linux. In other cases it returns
|
|
// empty string.
|
|
const DefaultPropagationMode mounttypes.Propagation = ""
|
|
|
|
// propagation modes not supported on this platform.
|
|
var propagationModes = map[mounttypes.Propagation]bool{}
|
|
|
|
// GetPropagation is not supported. Return empty string.
|
|
func GetPropagation(mode string) mounttypes.Propagation {
|
|
return DefaultPropagationMode
|
|
}
|
|
|
|
// HasPropagation checks if there is a valid propagation mode present in
|
|
// passed string. Returns true if a valid propagation mode specifier is
|
|
// present, false otherwise.
|
|
func HasPropagation(mode string) bool {
|
|
return false
|
|
}
|