summaryrefslogtreecommitdiff
path: root/pkg/spec/containerconfig.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/spec/containerconfig.go')
-rw-r--r--pkg/spec/containerconfig.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/pkg/spec/containerconfig.go b/pkg/spec/containerconfig.go
index 87c1b5155..f9bb075b8 100644
--- a/pkg/spec/containerconfig.go
+++ b/pkg/spec/containerconfig.go
@@ -4,6 +4,7 @@ import (
"github.com/containers/libpod/libpod"
spec "github.com/opencontainers/runtime-spec/specs-go"
"github.com/pkg/errors"
+ "github.com/sirupsen/logrus"
)
// MakeContainerConfig generates all configuration necessary to start a
@@ -15,15 +16,27 @@ func (config *CreateConfig) MakeContainerConfig(runtime *libpod.Runtime, pod *li
return nil, nil, errors.Wrapf(libpod.ErrInvalidArg, "pod was given but no pod is specified")
}
- runtimeSpec, namedVolumes, err := config.createConfigToOCISpec(runtime)
+ // Parse volumes flag into OCI spec mounts and libpod Named Volumes.
+ // If there is an identical mount in the OCI spec, we will replace it
+ // with a mount generated here.
+ mounts, namedVolumes, err := config.parseVolumes(runtime)
if err != nil {
return nil, nil, err
}
- options, err := config.getContainerCreateOptions(runtime, pod, namedVolumes)
+ logrus.Debugf("got mounts as %v", mounts)
+
+ runtimeSpec, err := config.createConfigToOCISpec(runtime, mounts)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ options, err := config.getContainerCreateOptions(runtime, pod, mounts, namedVolumes)
if err != nil {
return nil, nil, err
}
+ logrus.Debugf("created OCI spec and options for new container")
+
return runtimeSpec, options, nil
}