diff options
-rw-r--r-- | libpod/container_internal_linux.go | 5 | ||||
-rw-r--r-- | test/e2e/run_test.go | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go index 12c1abf1c..5ee6726e0 100644 --- a/libpod/container_internal_linux.go +++ b/libpod/container_internal_linux.go @@ -1410,13 +1410,14 @@ func (c *Container) getHosts() string { hosts += fmt.Sprintf("%s %s\n", fields[1], fields[0]) } } + if c.config.NetMode.IsSlirp4netns() { // When using slirp4netns, the interface gets a static IP - hosts += fmt.Sprintf("# used by slirp4netns\n%s\t%s\n", "10.0.2.100", c.Hostname()) + hosts += fmt.Sprintf("# used by slirp4netns\n%s\t%s %s\n", "10.0.2.100", c.Hostname(), c.Config().Name) } if len(c.state.NetworkStatus) > 0 && len(c.state.NetworkStatus[0].IPs) > 0 { ipAddress := strings.Split(c.state.NetworkStatus[0].IPs[0].Address.String(), "/")[0] - hosts += fmt.Sprintf("%s\t%s\n", ipAddress, c.Hostname()) + hosts += fmt.Sprintf("%s\t%s %s\n", ipAddress, c.Hostname(), c.Config().Name) } return hosts } diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go index c78c23b1f..7e75e2605 100644 --- a/test/e2e/run_test.go +++ b/test/e2e/run_test.go @@ -101,6 +101,18 @@ var _ = Describe("Podman run", func() { Expect(match).Should(BeTrue()) }) + It("podman create pod with name in /etc/hosts", func() { + name := "test_container" + hostname := "test_hostname" + session := podmanTest.Podman([]string{"run", "-ti", "--rm", "--name", name, "--hostname", hostname, ALPINE, "cat", "/etc/hosts"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + match, _ := session.GrepString(name) + Expect(match).Should(BeTrue()) + match, _ = session.GrepString(hostname) + Expect(match).Should(BeTrue()) + }) + It("podman run a container based on remote image", func() { session := podmanTest.Podman([]string{"run", "-dt", BB_GLIBC, "ls"}) session.WaitWithDefaultTimeout() |