From d5ae1cb93ed0968c33ff8d39dffffe344d18ef4e Mon Sep 17 00:00:00 2001 From: Michal Wieczorek Date: Thu, 4 Aug 2016 23:11:06 +0200 Subject: [PATCH] Set windows containers default network mode to 'nat' --- client/driver/docker.go | 4 ++-- client/driver/docker_default.go | 5 +++++ client/driver/docker_windows.go | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/client/driver/docker.go b/client/driver/docker.go index ba91caf83c45..0bda9b77e3a6 100644 --- a/client/driver/docker.go +++ b/client/driver/docker.go @@ -451,8 +451,8 @@ func (d *DockerDriver) createContainer(ctx *ExecContext, task *structs.Task, hostConfig.NetworkMode = driverConfig.NetworkMode if hostConfig.NetworkMode == "" { // docker default - d.logger.Println("[DEBUG] driver.docker: networking mode not specified; defaulting to bridge") - hostConfig.NetworkMode = "bridge" + d.logger.Printf("[DEBUG] driver.docker: networking mode not specified; defaulting to %s", defaultNetworkMode) + hostConfig.NetworkMode = defaultNetworkMode } // Setup port mapping and exposed ports diff --git a/client/driver/docker_default.go b/client/driver/docker_default.go index 1cd64236f075..753bdbec51a4 100644 --- a/client/driver/docker_default.go +++ b/client/driver/docker_default.go @@ -4,6 +4,11 @@ package driver import docker "github.com/fsouza/go-dockerclient" +const ( + //Setting default network mode for non-windows OS as bridge + defaultNetworkMode = "bridge" +) + func getPortBinding(ip string, port string) []docker.PortBinding { return []docker.PortBinding{docker.PortBinding{HostIP: ip, HostPort: port}} } diff --git a/client/driver/docker_windows.go b/client/driver/docker_windows.go index 320bffe39c96..5116b9473f10 100644 --- a/client/driver/docker_windows.go +++ b/client/driver/docker_windows.go @@ -2,6 +2,11 @@ package driver import docker "github.com/fsouza/go-dockerclient" +const ( + //Default network mode for windows containers is nat + defaultNetworkMode = "nat" +) + //Currently Windows containers don't support host ip in port binding. func getPortBinding(ip string, port string) []docker.PortBinding { return []docker.PortBinding{docker.PortBinding{HostIP: "", HostPort: port}}