examples: make buildkit3 use readonly where possible
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>docker-18.09
parent
ff951eecd9
commit
e3af8f57ab
|
@ -45,15 +45,15 @@ func goRepo(s *llb.State, repo string, src *llb.State) func(ro ...llb.RunOption)
|
||||||
dir := "/go/src/" + repo
|
dir := "/go/src/" + repo
|
||||||
return func(ro ...llb.RunOption) *llb.State {
|
return func(ro ...llb.RunOption) *llb.State {
|
||||||
es := s.Dir(dir).Run(ro...)
|
es := s.Dir(dir).Run(ro...)
|
||||||
es.AddMount(dir, src)
|
es.AddMount(dir, src, llb.Readonly)
|
||||||
return es.AddMount(dir+"/bin", llb.Scratch())
|
return es.AddMount("/out", llb.Scratch())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func runc(version string) *llb.State {
|
func runc(version string) *llb.State {
|
||||||
repo := "github.com/opencontainers/runc"
|
repo := "github.com/opencontainers/runc"
|
||||||
return goRepo(goBuildBase(), repo, llb.Git(repo, version))(
|
return goRepo(goBuildBase(), repo, llb.Git(repo, version))(
|
||||||
llb.Shlex("go build -o ./bin/runc ./"),
|
llb.Shlex("go build -o /out/runc ./"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ func containerd(version string) *llb.State {
|
||||||
goBuildBase().
|
goBuildBase().
|
||||||
Run(llb.Shlex("apk add --no-cache btrfs-progs-dev")).Root(),
|
Run(llb.Shlex("apk add --no-cache btrfs-progs-dev")).Root(),
|
||||||
repo, llb.Git(repo, version, llb.KeepGitDir()))(
|
repo, llb.Git(repo, version, llb.KeepGitDir()))(
|
||||||
llb.Shlex("make bin/containerd"),
|
llb.Shlex("go build -o /out/containerd ./cmd/containerd"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,11 +75,11 @@ func buildkit(opt buildOpt) *llb.State {
|
||||||
}
|
}
|
||||||
run := goRepo(goBuildBase(), repo, src)
|
run := goRepo(goBuildBase(), repo, src)
|
||||||
|
|
||||||
builddStandalone := run(llb.Shlex("go build -o ./bin/buildd-standalone -tags standalone ./cmd/buildd"))
|
builddStandalone := run(llb.Shlex("go build -o /out/buildd-standalone -tags standalone ./cmd/buildd"))
|
||||||
|
|
||||||
builddContainerd := run(llb.Shlex("go build -o ./bin/buildd-containerd -tags containerd ./cmd/buildd"))
|
builddContainerd := run(llb.Shlex("go build -o /out/buildd-containerd -tags containerd ./cmd/buildd"))
|
||||||
|
|
||||||
buildctl := run(llb.Shlex("go build -o ./bin/buildctl ./cmd/buildctl"))
|
buildctl := run(llb.Shlex("go build -o /out/buildctl ./cmd/buildctl"))
|
||||||
|
|
||||||
r := llb.Image("docker.io/library/alpine:latest").With(
|
r := llb.Image("docker.io/library/alpine:latest").With(
|
||||||
copyAll(buildctl, "/bin"),
|
copyAll(buildctl, "/bin"),
|
||||||
|
|
Loading…
Reference in New Issue