瀏覽代碼

Turn external volume usage into a warning instead of erroring

This avoids a compatibility break since returning an error would avoid
the project to be started

Signed-off-by: Ulysses Souza <[email protected]>
Ulysses Souza 4 年之前
父節點
當前提交
bc1160de72
共有 1 個文件被更改,包括 4 次插入5 次删除
  1. 4 5
      pkg/compose/create.go

+ 4 - 5
pkg/compose/create.go

@@ -1103,14 +1103,13 @@ func (s *composeService) ensureVolume(ctx context.Context, volume types.VolumeCo
 		return nil
 	}
 
-	// Volume exists with name, but let's double check this is the expected one
-	// (better safe than sorry when it comes to user's data)
+	// Volume exists with name, but let's double-check this is the expected one
 	p, ok := inspected.Labels[api.ProjectLabel]
 	if !ok {
-		return fmt.Errorf("volume %q already exists but was not created by Docker Compose. Use `external: true` to use an existing volume", volume.Name)
+		logrus.Warnf("volume %q already exists but was not created by Docker Compose. Use `external: true` to use an existing volume", volume.Name)
 	}
-	if p != project {
-		return fmt.Errorf("volume %q already exists but was not created for project %q. Use `external: true` to use an existing volume", volume.Name, p)
+	if ok && p != project {
+		logrus.Warnf("volume %q already exists but was not created for project %q. Use `external: true` to use an existing volume", volume.Name, p)
 	}
 	return nil
 }