소스 검색

Merge pull request #32407 from dnephin/fix-rw-mode-compose-files

Support rw as a volume option in compose file
Brian Goff 8 년 전
부모
커밋
30cdabd13f
2개의 변경된 파일16개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      cli/compose/loader/volume.go
  2. 14 0
      cli/compose/loader/volume_test.go

+ 2 - 0
cli/compose/loader/volume.go

@@ -70,6 +70,8 @@ func populateFieldFromBuffer(char rune, buffer []rune, volume *types.ServiceVolu
 		switch option {
 		switch option {
 		case "ro":
 		case "ro":
 			volume.ReadOnly = true
 			volume.ReadOnly = true
+		case "rw":
+			volume.ReadOnly = false
 		case "nocopy":
 		case "nocopy":
 			volume.Volume = &types.ServiceVolumeVolume{NoCopy: true}
 			volume.Volume = &types.ServiceVolumeVolume{NoCopy: true}
 		default:
 		default:

+ 14 - 0
cli/compose/loader/volume_test.go

@@ -132,3 +132,17 @@ func TestParseVolumeWithReadOnly(t *testing.T) {
 		assert.DeepEqual(t, volume, expected)
 		assert.DeepEqual(t, volume, expected)
 	}
 	}
 }
 }
+
+func TestParseVolumeWithRW(t *testing.T) {
+	for _, path := range []string{"./foo", "/home/user"} {
+		volume, err := parseVolume(path + ":/target:rw")
+		expected := types.ServiceVolumeConfig{
+			Type:     "bind",
+			Source:   path,
+			Target:   "/target",
+			ReadOnly: false,
+		}
+		assert.NilError(t, err)
+		assert.DeepEqual(t, volume, expected)
+	}
+}