github.com/adityamillind98/moby@v23.0.0-rc.4+incompatible/daemon/archive_tarcopyoptions_unix.go (about) 1 //go:build !windows 2 // +build !windows 3 4 package daemon // import "github.com/docker/docker/daemon" 5 6 import ( 7 "github.com/docker/docker/container" 8 "github.com/docker/docker/pkg/archive" 9 "github.com/docker/docker/pkg/idtools" 10 ) 11 12 func (daemon *Daemon) tarCopyOptions(container *container.Container, noOverwriteDirNonDir bool) (*archive.TarOptions, error) { 13 if container.Config.User == "" { 14 return daemon.defaultTarCopyOptions(noOverwriteDirNonDir), nil 15 } 16 17 user, err := idtools.LookupUser(container.Config.User) 18 if err != nil { 19 return nil, err 20 } 21 22 identity := idtools.Identity{UID: user.Uid, GID: user.Gid} 23 24 return &archive.TarOptions{ 25 NoOverwriteDirNonDir: noOverwriteDirNonDir, 26 ChownOpts: &identity, 27 }, nil 28 }