use os.Environ() to set exec command's env

because `LoadContainerEnvironment` is already run, os.Environ() will return the
correct environment variables for the exec command (i.e. removed duplicated
envs, set HOME for user etc...)

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
Merge pull request #264 from dqminh/fix-exec-env

Set correct env variables for `docker exec` commands
Update the path to project from hack

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #265 from crosbymichael/fix-dind

Update the path to project from hack
Provide better sethostname error message

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #268 from crosbymichael/sethostname

Provide better sethostname error message
Use SYS_SETUID32 for system.Setuid() on Linux for ARM

Besides possible other problems 16bit UIDs might be disabled by the kernel
configuration on Linux for ARM (see CONFIG_UID16).

Signed-off-by: Alexander Holler <holler@ahsoftware.de>
Merge pull request #269 from aholler/master

Use SYS_SETUID32 for system.Setuid() on Linux for ARM
Change arguments to fs.GetStats to be map[string]string

Allows us to remove systemd.GetPaths later

Signed-off-by: Donald Huang <don.hcd@gmail.com>
Remove systemd.GetStats

Because we are using the paths that are created when we initially setup
cgroups for a container we no longer have to dynamically generates them
when a user requests stats.  This allows us to fully use the fs stats
code without having system create it's paths.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Have cgroup.Apply return paths to setup cgroups

There is no reason to have a special type returned from the cgroups
Apply function for getting the paths and cleanup.  With access to the
paths we can just delete what we need.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Move RemovePaths into cgroups pkg for reuse

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Remove cgutil cli application as it is not being used

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #267 from crosbymichael/cgroup-paths

Use cgroup paths for stats and removal
libcontainer: setup cpuset cgroup by default

Currently if we don't use --cpuset, the cpuset cgroup is not
created, it's bad if we want to modify cpuset config subsequently,
change the behavior to make it right.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Always join fs.Cpuset reguardless of value

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #271 from crosbymichael/always-set-cpuset

libcontainer: setup cpuset cgroup by default
Set child sub reaper option on nsenter to help cleanup all processes orphaned via ExecIn.

Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
Remove hairpin nat on veth create

Writing to this file within /sys is casuing some issues for
older kernels, specifically with 2.6.xx, where the write is failing
because /sys is becoming ro.  We will continue to work on the 2.6 issues
but for the time being we cannot ship this with it enabled as it's
breaking all container runs.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Merge pull request #274 from crosbymichael/revert-hairpin-nat

Remove hairpin nat on veth create