瀏覽代碼

Merge pull request #38291 from tonistiigi/builder-networking-performance

builder: fix inefficient networking config
Tibor Vass 6 年之前
父節點
當前提交
baab736a36
共有 1 個文件被更改,包括 9 次插入8 次删除
  1. 9 8
      builder/builder-next/executor_unix.go

+ 9 - 8
builder/builder-next/executor_unix.go

@@ -15,6 +15,7 @@ import (
 	"github.com/moby/buildkit/solver/pb"
 	"github.com/moby/buildkit/solver/pb"
 	"github.com/moby/buildkit/util/network"
 	"github.com/moby/buildkit/util/network"
 	specs "github.com/opencontainers/runtime-spec/specs-go"
 	specs "github.com/opencontainers/runtime-spec/specs-go"
+	"github.com/sirupsen/logrus"
 )
 )
 
 
 const networkName = "bridge"
 const networkName = "bridge"
@@ -63,13 +64,13 @@ func (iface *lnInterface) init(c libnetwork.NetworkController, n libnetwork.Netw
 	defer close(iface.ready)
 	defer close(iface.ready)
 	id := identity.NewID()
 	id := identity.NewID()
 
 
-	ep, err := n.CreateEndpoint(id)
+	ep, err := n.CreateEndpoint(id, libnetwork.CreateOptionDisableResolution())
 	if err != nil {
 	if err != nil {
 		iface.err = err
 		iface.err = err
 		return
 		return
 	}
 	}
 
 
-	sbx, err := c.NewSandbox(id)
+	sbx, err := c.NewSandbox(id, libnetwork.OptionUseExternalKey())
 	if err != nil {
 	if err != nil {
 		iface.err = err
 		iface.err = err
 		return
 		return
@@ -100,10 +101,10 @@ func (iface *lnInterface) Set(s *specs.Spec) {
 
 
 func (iface *lnInterface) Close() error {
 func (iface *lnInterface) Close() error {
 	<-iface.ready
 	<-iface.ready
-	err := iface.sbx.Delete()
-	if iface.err != nil {
-		// iface.err takes precedence over cleanup errors
-		return iface.err
-	}
-	return err
+	go func() {
+		if err := iface.sbx.Delete(); err != nil {
+			logrus.Errorf("failed to delete builder network sandbox: %v", err)
+		}
+	}()
+	return iface.err
 }
 }