Files
moby/daemon/workdir.go
Derek McGowan 3fc36bcac4 Update daemon to use moby sys/user identity mapping
Signed-off-by: Derek McGowan <derek@mcg.dev>
2025-04-04 08:24:09 -07:00

24 lines
928 B
Go

package daemon // import "github.com/docker/docker/daemon"
import "github.com/docker/docker/pkg/idtools"
// ContainerCreateWorkdir creates the working directory. This solves the
// issue arising from https://github.com/docker/docker/issues/27545,
// which was initially fixed by https://github.com/docker/docker/pull/27884. But that fix
// was too expensive in terms of performance on Windows. Instead,
// https://github.com/docker/docker/pull/28514 introduces this new functionality
// where the builder calls into the backend here to create the working directory.
func (daemon *Daemon) ContainerCreateWorkdir(cID string) error {
container, err := daemon.GetContainer(cID)
if err != nil {
return err
}
err = daemon.Mount(container)
if err != nil {
return err
}
defer daemon.Unmount(container)
uid, gid := daemon.idMapping.RootPair()
return container.SetupWorkingDirectory(idtools.Identity{UID: uid, GID: gid})
}