diff --git a/daemon/pod/container.go b/daemon/pod/container.go
index <HASH>..<HASH> 100644
--- a/daemon/pod/container.go
+++ b/daemon/pod/container.go
@@ -568,7 +568,13 @@ func (c *Container) describeContainer(cjson *dockertypes.ContainerJSON) (*runv.C
 		cdesc.StopSignal = "TERM"
 	}
 
-	if cjson.Config.User != "" {
+	if c.spec.User != nil && c.spec.User.Name != "" {
+		cdesc.UGI = &runv.UserGroupInfo{
+			User:             c.spec.User.Name,
+			Group:            c.spec.User.Group,
+			AdditionalGroups: c.spec.User.AdditionalGroups,
+		}
+	} else if cjson.Config.User != "" {
 		users := strings.Split(cjson.Config.User, ":")
 		if len(users) > 2 {
 			return nil, fmt.Errorf("container %s invalid user group config: %s", cjson.Name, cjson.Config.User)
respect spec user group config

Override image user group config if spec user group config is present.