moby--moby/container
Brian Goff fc7b904dce Add new `HostConfig` field, `Mounts`.
`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>
2016-09-13 09:55:35 -04:00
..
archive.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
container.go Add new `HostConfig` field, `Mounts`. 2016-09-13 09:55:35 -04:00
container_solaris.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
container_unit_test.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
container_unix.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
container_windows.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
health.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
history.go Release memoryStore locks before filter/apply 2016-05-23 11:45:04 -07:00
memory_store.go Release memoryStore locks before filter/apply 2016-05-23 11:45:04 -07:00
memory_store_test.go
monitor.go *: fix logrus.Warn[f] 2016-06-11 19:42:38 +02:00
mounts_unix.go
mounts_windows.go
state.go Re-export container state's ExitCode and Error fields 2016-08-30 14:17:09 -07:00
state_solaris.go Re-export container state's ExitCode and Error fields 2016-08-30 14:17:09 -07:00
state_test.go test container state timeout with 200 milliseconds 2016-08-10 17:19:25 +08:00
state_unix.go Re-export container state's ExitCode and Error fields 2016-08-30 14:17:09 -07:00
state_windows.go Re-export container state's ExitCode and Error fields 2016-08-30 14:17:09 -07:00
store.go