diff --git a/drivers/amazonec2/amazonec2.go b/drivers/amazonec2/amazonec2.go index 04f2ed17d7..bfeb3cdf27 100644 --- a/drivers/amazonec2/amazonec2.go +++ b/drivers/amazonec2/amazonec2.go @@ -6,6 +6,7 @@ import ( "fmt" "io" "io/ioutil" + "net" "net/url" "strconv" "strings" @@ -430,7 +431,7 @@ func (d *Driver) GetURL() (string, error) { if ip == "" { return "", nil } - return fmt.Sprintf("tcp://%s:%d", ip, dockerPort), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, strconv.Itoa(dockerPort))), nil } func (d *Driver) GetIP() (string, error) { diff --git a/drivers/digitalocean/digitalocean.go b/drivers/digitalocean/digitalocean.go index 2bbba7fb6f..1a6f166e89 100644 --- a/drivers/digitalocean/digitalocean.go +++ b/drivers/digitalocean/digitalocean.go @@ -3,6 +3,7 @@ package digitalocean import ( "fmt" "io/ioutil" + "net" "time" "github.com/digitalocean/godo" @@ -228,7 +229,7 @@ func (d *Driver) GetURL() (string, error) { if err != nil { return "", err } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetState() (state.State, error) { diff --git a/drivers/exoscale/exoscale.go b/drivers/exoscale/exoscale.go index 20ff571a51..e0bf321e38 100644 --- a/drivers/exoscale/exoscale.go +++ b/drivers/exoscale/exoscale.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "io/ioutil" + "net" "strings" "text/template" "time" @@ -148,7 +149,7 @@ func (d *Driver) GetURL() (string, error) { if err != nil { return "", err } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetState() (state.State, error) { diff --git a/drivers/generic/generic.go b/drivers/generic/generic.go index fe36c0f387..307be429cc 100644 --- a/drivers/generic/generic.go +++ b/drivers/generic/generic.go @@ -118,7 +118,7 @@ func (d *Driver) GetURL() (string, error) { if err != nil { return "", err } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetState() (state.State, error) { diff --git a/drivers/google/google.go b/drivers/google/google.go index 7d1f704b7c..c82527b263 100644 --- a/drivers/google/google.go +++ b/drivers/google/google.go @@ -2,6 +2,7 @@ package google import ( "fmt" + "net" "strings" "github.com/docker/machine/libmachine/drivers" @@ -223,8 +224,7 @@ func (d *Driver) GetURL() (string, error) { if err != nil { return "", err } - url := fmt.Sprintf("tcp://%s:2376", ip) - return url, nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } // GetIP returns the IP address of the GCE instance. diff --git a/drivers/hyperv/hyperv.go b/drivers/hyperv/hyperv.go index 42190a0830..7115186d0f 100644 --- a/drivers/hyperv/hyperv.go +++ b/drivers/hyperv/hyperv.go @@ -5,6 +5,7 @@ import ( "bytes" "fmt" "io/ioutil" + "net" "os" "time" @@ -110,7 +111,7 @@ func (d *Driver) GetURL() (string, error) { if ip == "" { return "", nil } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetState() (state.State, error) { diff --git a/drivers/openstack/openstack.go b/drivers/openstack/openstack.go index fb64b29ec2..1e8cb77402 100644 --- a/drivers/openstack/openstack.go +++ b/drivers/openstack/openstack.go @@ -3,6 +3,7 @@ package openstack import ( "fmt" "io/ioutil" + "net" "strings" "time" @@ -269,7 +270,7 @@ func (d *Driver) GetURL() (string, error) { if ip == "" { return "", nil } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetIP() (string, error) { diff --git a/drivers/softlayer/driver.go b/drivers/softlayer/driver.go index 8c56ea445e..58a0eea819 100644 --- a/drivers/softlayer/driver.go +++ b/drivers/softlayer/driver.go @@ -3,6 +3,7 @@ package softlayer import ( "fmt" "io/ioutil" + "net" "os" "regexp" "time" @@ -265,7 +266,7 @@ func (d *Driver) GetURL() (string, error) { if ip == "" { return "", nil } - return "tcp://" + ip + ":2376", nil + return "tcp://" + net.JoinHostPort(ip, "2376"), nil } func (d *Driver) GetIP() (string, error) { diff --git a/drivers/vmwarefusion/fusion.go b/drivers/vmwarefusion/fusion.go index 47e83b25eb..e909ceb2bf 100644 --- a/drivers/vmwarefusion/fusion.go +++ b/drivers/vmwarefusion/fusion.go @@ -171,7 +171,7 @@ func (d *Driver) GetURL() (string, error) { if ip == "" { return "", nil } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetIP() (string, error) { diff --git a/drivers/vmwarevcloudair/vcloudair.go b/drivers/vmwarevcloudair/vcloudair.go index 823943d12f..d90287485e 100644 --- a/drivers/vmwarevcloudair/vcloudair.go +++ b/drivers/vmwarevcloudair/vcloudair.go @@ -7,6 +7,8 @@ package vmwarevcloudair import ( "fmt" "io/ioutil" + "net" + "strconv" "strings" "github.com/vmware/govcloudair" @@ -196,7 +198,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { } func (d *Driver) GetURL() (string, error) { - return fmt.Sprintf("tcp://%s:%d", d.PublicIP, d.DockerPort), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(d.PublicIP, strconv.Itoa(d.DockerPort))), nil } func (d *Driver) GetIP() (string, error) { diff --git a/drivers/vmwarevsphere/vsphere.go b/drivers/vmwarevsphere/vsphere.go index e0c5345822..3f114c226c 100644 --- a/drivers/vmwarevsphere/vsphere.go +++ b/drivers/vmwarevsphere/vsphere.go @@ -8,6 +8,7 @@ import ( "archive/tar" "fmt" "io/ioutil" + "net" "os" "path/filepath" "strings" @@ -181,7 +182,7 @@ func (d *Driver) GetURL() (string, error) { if ip == "" { return "", nil } - return fmt.Sprintf("tcp://%s:2376", ip), nil + return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil } func (d *Driver) GetIP() (string, error) {