summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkg/spec/createconfig.go9
-rw-r--r--test/e2e/run_test.go13
2 files changed, 19 insertions, 3 deletions
diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go
index 1dba8cdb4..0bd6c6d1c 100644
--- a/pkg/spec/createconfig.go
+++ b/pkg/spec/createconfig.go
@@ -147,8 +147,13 @@ func (c *CreateConfig) CreateBlockIO() (*spec.LinuxBlockIO, error) {
//GetVolumeMounts takes user provided input for bind mounts and creates Mount structs
func (c *CreateConfig) GetVolumeMounts(specMounts []spec.Mount) ([]spec.Mount, error) {
var m []spec.Mount
- var options []string
for _, i := range c.Volumes {
+ var (
+ options []string
+ foundrw, foundro, foundz, foundZ bool
+ rootProp string
+ )
+
// We need to handle SELinux options better here, specifically :Z
spliti := strings.Split(i, ":")
if len(spliti) > 2 {
@@ -158,8 +163,6 @@ func (c *CreateConfig) GetVolumeMounts(specMounts []spec.Mount) ([]spec.Mount, e
continue
}
options = append(options, "rbind")
- var foundrw, foundro, foundz, foundZ bool
- var rootProp string
for _, opt := range options {
switch opt {
case "rw":
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 32206c4f5..92aa2f191 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -547,4 +547,17 @@ USER mail`
Expect(session.OutputToString()).To(ContainSubstring("data"))
})
+
+ It("podman run --volumes flag with multiple volumes", func() {
+ vol1 := filepath.Join(podmanTest.TempDir, "vol-test1")
+ err := os.MkdirAll(vol1, 0755)
+ Expect(err).To(BeNil())
+ vol2 := filepath.Join(podmanTest.TempDir, "vol-test2")
+ err = os.MkdirAll(vol2, 0755)
+ Expect(err).To(BeNil())
+
+ session := podmanTest.Podman([]string{"run", "--volume", vol1 + ":/myvol1:ro", "--volume", vol2 + ":/myvol2", ALPINE, "touch", "/myvol2/foo.txt"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ })
})