mirror of
https://github.com/containers/podman.git
synced 2025-10-15 02:06:42 +08:00
Add hostname to /etc/hosts
Signed-off-by: Qi Wang <qiwan@redhat.com>
This commit is contained in:
@ -1157,6 +1157,10 @@ func (c *Container) generateHosts() (string, error) {
|
||||
hosts += fmt.Sprintf("%s %s\n", fields[1], fields[0])
|
||||
}
|
||||
}
|
||||
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())
|
||||
}
|
||||
return c.writeStringToRundir("hosts", hosts)
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
@ -82,5 +83,23 @@ var _ = Describe("Podman run dns", func() {
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
Expect(session.OutputToString()).To(Equal("foobar"))
|
||||
|
||||
session = podmanTest.Podman([]string{"run", "-d", "--hostname=foobar", ALPINE, "cat", "/etc/hosts"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
cid := session.OutputToString()
|
||||
session = podmanTest.Podman([]string{"start", "-ia", cid})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session.LineInOutputContains("foobar")
|
||||
line := strings.Split(session.OutputToStringArray()[len(session.OutputToStringArray())-1], "\t")
|
||||
ip1 := line[0]
|
||||
|
||||
session = podmanTest.Podman([]string{"start", "-ia", cid})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session.LineInOutputContains("foobar")
|
||||
line = strings.Split(session.OutputToStringArray()[len(session.OutputToStringArray())-1], "\t")
|
||||
ip2 := line[0]
|
||||
Expect(ip2).To(Not(Equal(ip1)))
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user