From 2dfc1dcf3e5da863f01a0fbef0666e7f35e61c53 Mon Sep 17 00:00:00 2001 From: Avi Deitcher Date: Mon, 24 Oct 2022 11:45:45 +0300 Subject: [PATCH] fix network build modes Signed-off-by: Avi Deitcher --- src/cmd/linuxkit/pkglib/build.go | 1 + src/cmd/linuxkit/pkglib/docker.go | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/cmd/linuxkit/pkglib/build.go b/src/cmd/linuxkit/pkglib/build.go index 6442fe7c7..ad1c05b2b 100644 --- a/src/cmd/linuxkit/pkglib/build.go +++ b/src/cmd/linuxkit/pkglib/build.go @@ -282,6 +282,7 @@ func (p Pkg) Build(bos ...BuildOpt) error { imageBuildOpts.Labels["org.opencontainers.image.revision"] = commit } + imageBuildOpts.NetworkMode = "default" if !p.network { imageBuildOpts.NetworkMode = "none" } diff --git a/src/cmd/linuxkit/pkglib/docker.go b/src/cmd/linuxkit/pkglib/docker.go index 3c96d409b..d8cd04a72 100644 --- a/src/cmd/linuxkit/pkglib/docker.go +++ b/src/cmd/linuxkit/pkglib/docker.go @@ -432,7 +432,15 @@ func (dr *dockerRunnerImpl) build(ctx context.Context, tag, pkg, dockerContext, } // network - frontendAttrs["network"] = imageBuildOpts.NetworkMode + // translate to net modes understood by buildkit dockerfile frontend + switch imageBuildOpts.NetworkMode { + case "host", "none": + frontendAttrs["force-network-mode"] = imageBuildOpts.NetworkMode + case "default": + frontendAttrs["force-network-mode"] = "sandbox" + default: + return fmt.Errorf("unsupported network mode %q", imageBuildOpts.NetworkMode) + } for k, v := range imageBuildOpts.Labels { frontendAttrs[fmt.Sprintf("label:%s", k)] = v