1
0
Эх сурвалжийг харах

Do not resolve mount linux abs path as windows path on windows (eg. /var/run/docker.sock => c:/var/run/docker.sock folder)

Signed-off-by: guillaume.tardif <[email protected]>
guillaume.tardif 4 жил өмнө
parent
commit
7a25378590

+ 3 - 1
local/compose/create.go

@@ -774,7 +774,9 @@ func isUnixAbs(path string) bool {
 
 
 func buildMount(project types.Project, volume types.ServiceVolumeConfig) (mount.Mount, error) {
 func buildMount(project types.Project, volume types.ServiceVolumeConfig) (mount.Mount, error) {
 	source := volume.Source
 	source := volume.Source
-	if volume.Type == types.VolumeTypeBind && !filepath.IsAbs(source) {
+	// on windows, filepath.IsAbs(source) is false for unix style abs path like /var/run/docker.sock.
+	// do not replace these with  filepath.Abs(source) that will include a default drive.
+	if volume.Type == types.VolumeTypeBind && !filepath.IsAbs(source) && !strings.HasPrefix(source, "/") {
 		// volume source has already been prefixed with workdir if required, by compose-go project loader
 		// volume source has already been prefixed with workdir if required, by compose-go project loader
 		var err error
 		var err error
 		source, err = filepath.Abs(source)
 		source, err = filepath.Abs(source)