mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Fix hostname missing when a container's net mode is contaienr mode
Signed-off-by: Lei Jitang <leijitang@huawei.com>
This commit is contained in:
parent
2cde817458
commit
74664dabff
2 changed files with 26 additions and 0 deletions
|
@ -1222,6 +1222,7 @@ func (container *Container) initializeNetworking() error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
container.HostnamePath = nc.HostnamePath
|
||||
container.HostsPath = nc.HostsPath
|
||||
container.ResolvConfPath = nc.ResolvConfPath
|
||||
container.Config.Hostname = nc.Config.Hostname
|
||||
|
|
|
@ -412,6 +412,31 @@ func TestRunLinkToContainerNetMode(t *testing.T) {
|
|||
logDone("run - link to a container which net mode is container success")
|
||||
}
|
||||
|
||||
func TestRunModeNetContainerHostname(t *testing.T) {
|
||||
defer deleteAllContainers()
|
||||
cmd := exec.Command(dockerBinary, "run", "-i", "-d", "--name", "parent", "busybox", "top")
|
||||
out, _, err := runCommandWithOutput(cmd)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to run container: %v, output: %q", err, out)
|
||||
}
|
||||
cmd = exec.Command(dockerBinary, "exec", "parent", "cat", "/etc/hostname")
|
||||
out, _, err = runCommandWithOutput(cmd)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to exec command: %v, output: %q", err, out)
|
||||
}
|
||||
|
||||
cmd = exec.Command(dockerBinary, "run", "--net=container:parent", "busybox", "cat", "/etc/hostname")
|
||||
out1, _, err := runCommandWithOutput(cmd)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to run container: %v, output: %q", err, out1)
|
||||
}
|
||||
if out1 != out {
|
||||
t.Fatal("containers with shared net namespace should have same hostname")
|
||||
}
|
||||
|
||||
logDone("run - containers with shared net namespace have same hostname")
|
||||
}
|
||||
|
||||
// Regression test for #4741
|
||||
func TestRunWithVolumesAsFiles(t *testing.T) {
|
||||
defer deleteAllContainers()
|
||||
|
|
Loading…
Reference in a new issue