diff options
author | maybe-sybr <58414429+maybe-sybr@users.noreply.github.com> | 2020-06-24 16:01:17 +1000 |
---|---|---|
committer | maybe-sybr <58414429+maybe-sybr@users.noreply.github.com> | 2020-07-09 17:45:12 +1000 |
commit | 9fe3153c0c8c7aba80975b6e080935d40198e7c9 (patch) | |
tree | 26e541632cdc0aaa66da1885a6447492f72a060b /pkg/api/handlers/compat/containers_create.go | |
parent | edf5fe8b17f39ce98805c279b9795bfd4123abe2 (diff) | |
download | podman-9fe3153c0c8c7aba80975b6e080935d40198e7c9.tar.gz podman-9fe3153c0c8c7aba80975b6e080935d40198e7c9.tar.bz2 podman-9fe3153c0c8c7aba80975b6e080935d40198e7c9.zip |
APIv2:fix: Get volumes from `Binds` when creating
This change ensures that we pull volume bind specification strings from
the correct spot in the POSTed data when creating containers. We should
probably canity check that the mapping keys in `Volumes` are a superset
of the binds listed in `HostConfig.Binds` but this cheap change removes
an annoying behaviour where named volumes or host mount would be
silently replaced with newly created anonymous volumes.
Signed-off-by: Matt Brindley <58414429+maybe-sybr@users.noreply.github.com>
Diffstat (limited to 'pkg/api/handlers/compat/containers_create.go')
-rw-r--r-- | pkg/api/handlers/compat/containers_create.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pkg/api/handlers/compat/containers_create.go b/pkg/api/handlers/compat/containers_create.go index 8034a529c..a4511b3b0 100644 --- a/pkg/api/handlers/compat/containers_create.go +++ b/pkg/api/handlers/compat/containers_create.go @@ -135,10 +135,10 @@ func makeCreateConfig(containerConfig *config.Config, input handlers.CreateConta User: input.User, } pidConfig := createconfig.PidConfig{PidMode: namespaces.PidMode(input.HostConfig.PidMode)} - volumes := make([]string, 0, len(input.Volumes)) - for k := range input.Volumes { - volumes = append(volumes, k) - } + // TODO: We should check that these binds are all listed in the `Volumes` + // key since it doesn't make sense to define a `Binds` element for a + // container path which isn't defined as a volume + volumes := input.HostConfig.Binds // Docker is more flexible about its input where podman throws // away incorrectly formatted variables so we cannot reuse the |