Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Commit 57b9467

Browse files
committed
Add support for autodetected HOME from USER (if HOME is unset)
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
1 parent f4db398 commit 57b9467

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

builder/builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func (b *buildFile) CmdFrom(name string) error {
120120
b.config = image.Config
121121
}
122122
if b.config.Env == nil || len(b.config.Env) == 0 {
123-
b.config.Env = append(b.config.Env, "HOME=/", "PATH="+daemon.DefaultPathEnv)
123+
b.config.Env = append(b.config.Env, "PATH="+daemon.DefaultPathEnv)
124124
}
125125
// Process ONBUILD triggers if they exist
126126
if nTriggers := len(b.config.OnBuild); nTriggers != 0 {

daemon/container.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1043,9 +1043,12 @@ func (container *Container) setupLinkedContainers() ([]string, error) {
10431043
func (container *Container) createDaemonEnvironment(linkedEnv []string) []string {
10441044
// Setup environment
10451045
env := []string{
1046-
"HOME=/",
10471046
"PATH=" + DefaultPathEnv,
10481047
"HOSTNAME=" + container.Config.Hostname,
1048+
// Note: we don't set HOME here because it'll get autoset intelligently
1049+
// based on the value of USER inside dockerinit, but only if it isn't
1050+
// set already (ie, that can be overridden by setting HOME via -e or ENV
1051+
// in a Dockerfile).
10491052
}
10501053
if container.Config.Tty {
10511054
env = append(env, "TERM=xterm")

integration-cli/docker_cli_build_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ func TestBuildRelativeWorkdir(t *testing.T) {
700700

701701
func TestBuildEnv(t *testing.T) {
702702
name := "testbuildenv"
703-
expected := "[HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PORT=2375]"
703+
expected := "[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PORT=2375]"
704704
defer deleteImages(name)
705705
_, err := buildImage(name,
706706
`FROM busybox

integration-cli/docker_cli_run_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,13 +676,13 @@ func TestEnvironment(t *testing.T) {
676676

677677
goodEnv := []string{
678678
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
679-
"HOME=/",
680679
"HOSTNAME=testing",
681680
"FALSE=true",
682681
"TRUE=false",
683682
"TRICKY=tri",
684683
"cky",
685684
"",
685+
"HOME=/root",
686686
}
687687
sort.Strings(goodEnv)
688688
if len(goodEnv) != len(actualEnv) {

0 commit comments

Comments
 (0)