mirror of
https://github.com/containers/podman.git
synced 2025-10-17 03:04:21 +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])
|
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)
|
return c.writeStringToRundir("hosts", hosts)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
package integration
|
package integration
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
|
||||||
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
)
|
)
|
||||||
@ -82,5 +83,23 @@ var _ = Describe("Podman run dns", func() {
|
|||||||
session.WaitWithDefaultTimeout()
|
session.WaitWithDefaultTimeout()
|
||||||
Expect(session.ExitCode()).To(Equal(0))
|
Expect(session.ExitCode()).To(Equal(0))
|
||||||
Expect(session.OutputToString()).To(Equal("foobar"))
|
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