diff --git a/daemon/oci_linux.go b/daemon/oci_linux.go index 8deeed2b86..cbf6342368 100644 --- a/daemon/oci_linux.go +++ b/daemon/oci_linux.go @@ -198,6 +198,7 @@ func getUser(c *container.Container, username string) (specs.User, error) { } usr.UID = uint32(execUser.Uid) usr.GID = uint32(execUser.Gid) + usr.AdditionalGids = []uint32{usr.GID} var addGroups []int if len(c.HostConfig.GroupAdd) > 0 { diff --git a/integration-cli/docker_cli_run_test.go b/integration-cli/docker_cli_run_test.go index c0780a1579..9643833e39 100644 --- a/integration-cli/docker_cli_run_test.go +++ b/integration-cli/docker_cli_run_test.go @@ -786,7 +786,7 @@ func (s *DockerCLIRunSuite) TestRunUserByIDZero(c *testing.T) { if err != nil { c.Fatal(err, out) } - if !strings.Contains(out, "uid=0(root) gid=0(root) groups=10(wheel)") { + if !strings.Contains(out, "uid=0(root) gid=0(root) groups=0(root),10(wheel)") { c.Fatalf("expected daemon user got %s", out) } } @@ -1086,7 +1086,7 @@ func (s *DockerCLIRunSuite) TestRunGroupAdd(c *testing.T) { testRequires(c, DaemonIsLinux) out, _ := dockerCmd(c, "run", "--group-add=audio", "--group-add=staff", "--group-add=777", "busybox", "sh", "-c", "id") - groupsList := "uid=0(root) gid=0(root) groups=10(wheel),29(audio),50(staff),777" + groupsList := "uid=0(root) gid=0(root) groups=0(root),10(wheel),29(audio),50(staff),777" if actual := strings.Trim(out, "\r\n"); actual != groupsList { c.Fatalf("expected output %s received %s", groupsList, actual) } diff --git a/integration-cli/docker_cli_swarm_test.go b/integration-cli/docker_cli_swarm_test.go index dd35e0f749..fad82fc702 100644 --- a/integration-cli/docker_cli_swarm_test.go +++ b/integration-cli/docker_cli_swarm_test.go @@ -308,7 +308,7 @@ func (s *DockerSwarmSuite) TestSwarmServiceWithGroup(c *testing.T) { out, err = d.Cmd("exec", container, "id") assert.NilError(c, err, out) - assert.Equal(c, strings.TrimSpace(out), "uid=0(root) gid=0(root) groups=10(wheel),29(audio),50(staff),777") + assert.Equal(c, strings.TrimSpace(out), "uid=0(root) gid=0(root) groups=0(root),10(wheel),29(audio),50(staff),777") } func (s *DockerSwarmSuite) TestSwarmContainerAutoStart(c *testing.T) {