Merge pull request #5859 from philips/append-etc-hosts-not-bind

fix(daemon): prepend host /etc/hosts instead of bind mounting
This commit is contained in:
Michael Crosby
2014-05-21 15:57:59 -07:00
4 changed files with 51 additions and 4 deletions
+36
View File
@@ -3,10 +3,46 @@ package main
import (
"fmt"
"github.com/dotcloud/docker/pkg/iptables"
"io/ioutil"
"os"
"os/exec"
"strings"
"testing"
)
func TestEtcHostsRegularFile(t *testing.T) {
runCmd := exec.Command(dockerBinary, "run", "--net=host", "busybox", "ls", "-la", "/etc/hosts")
out, _, _, err := runCommandWithStdoutStderr(runCmd)
errorOut(err, t, out)
if !strings.HasPrefix(out, "-") {
t.Errorf("/etc/hosts should be a regular file")
}
deleteAllContainers()
logDone("link - /etc/hosts is a regular file")
}
func TestEtcHostsContentMatch(t *testing.T) {
runCmd := exec.Command(dockerBinary, "run", "--net=host", "busybox", "cat", "/etc/hosts")
out, _, _, err := runCommandWithStdoutStderr(runCmd)
errorOut(err, t, out)
hosts, err := ioutil.ReadFile("/etc/hosts")
if os.IsNotExist(err) {
t.Skip("/etc/hosts does not exist, skip this test")
}
if out != string(hosts) {
t.Errorf("container")
}
deleteAllContainers()
logDone("link - /etc/hosts matches hosts copy")
}
func TestPingUnlinkedContainers(t *testing.T) {
runCmd := exec.Command(dockerBinary, "run", "--rm", "busybox", "sh", "-c", "ping -c 1 alias1 -W 1 && ping -c 1 alias2 -W 1")
exitCode, err := runCommand(runCmd)
+1 -1
View File
@@ -438,7 +438,7 @@ func TestCreateVolume(t *testing.T) {
deleteAllContainers()
logDone("run - create docker mangaed volume")
logDone("run - create docker managed volume")
}
// Test that creating a volume with a symlink in its path works correctly. Test for #5152.