@@ -94,7 +94,7 @@ func newProcess(p specs.Process) (*libcontainer.Process, error) {
9494}
9595
9696// setupIO modifies the given process config according to the options.
97- func setupIO (process * libcontainer.Process , rootuid , rootgid int , createTTY , detach bool , sockpath string ) (* tty , error ) {
97+ func setupIO (process * libcontainer.Process , containerUID , containerGID int , createTTY , detach bool , sockpath string ) (* tty , error ) {
9898 if createTTY {
9999 process .Stdin = nil
100100 process .Stdout = nil
@@ -140,7 +140,7 @@ func setupIO(process *libcontainer.Process, rootuid, rootgid int, createTTY, det
140140 inheritStdio (process )
141141 return & tty {}, nil
142142 }
143- return setupProcessPipes (process , rootuid , rootgid )
143+ return setupProcessPipes (process , containerUID , containerGID )
144144}
145145
146146// createPidFile creates a file containing the PID,
@@ -237,11 +237,11 @@ func (r *runner) run(config *specs.Process) (int, error) {
237237 }
238238 process .ExtraFiles = append (process .ExtraFiles , os .NewFile (uintptr (i ), "PreserveFD:" + strconv .Itoa (i )))
239239 }
240- rootuid , err := r .container .Config ().HostRootUID ( )
240+ containerUID , err := r .container .Config ().HostUID ( int ( config . User . UID ) )
241241 if err != nil {
242242 return - 1 , err
243243 }
244- rootgid , err := r .container .Config ().HostRootGID ( )
244+ containerGID , err := r .container .Config ().HostGID ( int ( config . User . GID ) )
245245 if err != nil {
246246 return - 1 , err
247247 }
@@ -250,7 +250,7 @@ func (r *runner) run(config *specs.Process) (int, error) {
250250 // with detaching containers, and then we get a tty after the container has
251251 // started.
252252 handler := newSignalHandler (r .enableSubreaper , r .notifySocket )
253- tty , err := setupIO (process , rootuid , rootgid , config .Terminal , detach , r .consoleSocket )
253+ tty , err := setupIO (process , containerUID , containerGID , config .Terminal , detach , r .consoleSocket )
254254 if err != nil {
255255 return - 1 , err
256256 }
0 commit comments