Explorar o código

Merge pull request #37178 from tonistiigi/layer-leak

builder: fix layer leak on multi-stage wildcard copy
Vincent Demeester %!s(int64=7) %!d(string=hai) anos
pai
achega
3e494c4b93
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      builder/dockerfile/copy.go

+ 3 - 1
builder/dockerfile/copy.go

@@ -172,7 +172,9 @@ func (o *copier) calcCopyInfo(origPath string, allowWildcards bool) ([]copyInfo,
 	// TODO: do this when creating copier. Requires validateCopySourcePath
 	// (and other below) to be aware of the difference sources. Why is it only
 	// done on image Source?
-	if imageSource != nil {
+	if imageSource != nil && o.activeLayer == nil {
+		// this needs to be protected against repeated calls as wildcard copy
+		// will call it multiple times for a single COPY
 		var err error
 		rwLayer, err := imageSource.NewRWLayer()
 		if err != nil {