dns_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package network // import "github.com/docker/docker/integration/network"
  2. import (
  3. "testing"
  4. "time"
  5. containertypes "github.com/docker/docker/api/types/container"
  6. "github.com/docker/docker/integration/internal/container"
  7. "github.com/docker/docker/integration/internal/network"
  8. "github.com/docker/docker/testutil"
  9. "github.com/docker/docker/testutil/daemon"
  10. "gotest.tools/v3/poll"
  11. "gotest.tools/v3/skip"
  12. )
  13. func TestDaemonDNSFallback(t *testing.T) {
  14. skip.If(t, testEnv.IsRemoteDaemon, "cannot start daemon on remote test run")
  15. skip.If(t, testEnv.DaemonInfo.OSType != "linux")
  16. skip.If(t, testEnv.IsUserNamespace)
  17. ctx := testutil.StartSpan(baseContext, t)
  18. d := daemon.New(t)
  19. d.StartWithBusybox(ctx, t, "-b", "none", "--dns", "127.127.127.1", "--dns", "8.8.8.8")
  20. defer d.Stop(t)
  21. c := d.NewClientT(t)
  22. network.CreateNoError(ctx, t, c, "test")
  23. defer c.NetworkRemove(ctx, "test")
  24. cid := container.Run(ctx, t, c, container.WithNetworkMode("test"), container.WithCmd("nslookup", "docker.com"))
  25. defer c.ContainerRemove(ctx, cid, containertypes.RemoveOptions{Force: true})
  26. poll.WaitOn(t, container.IsSuccessful(ctx, c, cid), poll.WithDelay(100*time.Millisecond), poll.WithTimeout(10*time.Second))
  27. }