From fbd95494e6e402fd123955fbaf337696cc22c750 Mon Sep 17 00:00:00 2001 From: DCCooper <1866858@gmail.com> Date: Mon, 31 May 2021 20:50:24 +0800 Subject: [PATCH 3/5] bugfix: set user's uid and gid for containers Signed-off-by: DCCooper <1866858@gmail.com> --- builder/dockerfile/run.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/builder/dockerfile/run.go b/builder/dockerfile/run.go index 6c38b55..828fe67 100644 --- a/builder/dockerfile/run.go +++ b/builder/dockerfile/run.go @@ -95,6 +95,16 @@ func (c *cmdBuilder) setupRuntimeSpec(command []string) (*specs.Spec, error) { } // set specific runtime spec config + user := c.stage.docker.Config.User + if user != "" { + pair, err := util.GetChownOptions(user, c.stage.mountpoint) + if err != nil { + return nil, err + } + g.SetProcessUID(uint32(pair.UID)) + g.SetProcessGID(uint32(pair.GID)) + g.SetProcessUsername(c.stage.docker.Config.User) + } g.RemoveHostname() g.SetProcessArgs(command) g.SetProcessTerminal(false) -- 1.8.3.1