diff --git a/config.md b/config.md index 116b6c16a..fdbe2d0f7 100644 --- a/config.md +++ b/config.md @@ -148,8 +148,9 @@ Note: Any OPTIONAL field MAY also be set to null, which is equivalent to being a - **Volumes** *object*, OPTIONAL - A set of directories which SHOULD be created as data volumes in a container running this image. - If a file or folder exists within the image with the same path as a data volume, that file or folder will be replaced by the data volume and never be merged. + A set of directories describing where the process is likely write data specific to a container instance. + Implementations SHOULD provide mounts for these locations such that application data is not written to the container's root filesystem. + If a _new_ image is created from a container based on the image described by this configuration, data in these paths SHOULD NOT be included in the _new_ image. **NOTE:** This JSON structure value is unusual because it is a direct JSON serialization of the Go type `map[string]struct{}` and is represented in JSON as an object mapping its keys to an empty object. - **WorkingDir** *string*, OPTIONAL diff --git a/specs-go/v1/config.go b/specs-go/v1/config.go index 8475ff741..fe799bd69 100644 --- a/specs-go/v1/config.go +++ b/specs-go/v1/config.go @@ -37,7 +37,7 @@ type ImageConfig struct { // Cmd defines the default arguments to the entrypoint of the container. Cmd []string `json:"Cmd,omitempty"` - // Volumes is a set of directories which should be created as data volumes in a container running this image. + // Volumes is a set of directories describing where the process is likely write data specific to a container instance. Volumes map[string]struct{} `json:"Volumes,omitempty"` // WorkingDir sets the current working directory of the entrypoint process in the container.