diff --git a/README.md b/README.md index e8df1bb30d..9a6b31eb28 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ $ swarm create $ swarm join --discovery token:// --addr= # start the manager on any machine or your laptop -$ swarm manage --discovery token:// -H= +$ swarm manage --discovery token:// -H # use the regular docker cli $ docker -H info @@ -50,7 +50,7 @@ $ docker -H logs ... # list nodes in your cluster $ swarm list --discovery token:// -http:// + ``` See [here](discovery) for more information about diff --git a/discovery/README.md b/discovery/README.md index 244e13e19e..56f0d801e1 100644 --- a/discovery/README.md +++ b/discovery/README.md @@ -10,15 +10,15 @@ Discovery ```bash # create a cluster $ swarm create -6856663cdefdec325839a4b7e1de38e8 +6856663cdefdec325839a4b7e1de38e8 # <- this is your unique # on each of your nodes, start the swarm agent # doesn't have to be public (eg. 192.168.0.X), # as long as the other nodes can reach it, it is fine. -$ swarm join --discovery token://6856663cdefdec325839a4b7e1de38e8 --addr= +$ swarm join --discovery token:// --addr= # start the manager on any machine or your laptop -$ swarm manage --discovery token://6856663cdefdec325839a4b7e1de38e8 -H= +$ swarm manage --discovery token:// -H # use the regular docker cli $ docker -H info @@ -28,8 +28,8 @@ $ docker -H logs ... ... # list nodes in your cluster -$ swarm list --discovery token://6856663cdefdec325839a4b7e1de38e8 -http:// +$ swarm list --discovery token:// + ``` ###### Using a static file describing the cluster @@ -38,10 +38,12 @@ http:// # for each of your nodes, add a line to a file # doesn't have to be public (eg. 192.168.0.X), # as long as the other nodes can reach it, it is fine. -$ echo >> /tmp/my_cluster +$ echo >> /tmp/my_cluster +$ echo >> /tmp/my_cluster +$ echo >> /tmp/my_cluster # start the manager on any machine or your laptop -$ swarm manage --discovery file:///tmp/my_cluster -H= +$ swarm manage --discovery file:///tmp/my_cluster -H # use the regular docker cli $ docker -H info @@ -52,7 +54,9 @@ $ docker -H logs ... # list nodes in your cluster $ swarm list --discovery file:///tmp/my_cluster -http:// + + + ``` ###### Using etcd @@ -64,7 +68,7 @@ http:// $ swarm join --discovery etcd:/// --addr= # start the manager on any machine or your laptop -$ swarm manage --discovery etcd:/// -H= +$ swarm manage --discovery etcd:/// -H # use the regular docker cli $ docker -H info @@ -75,7 +79,7 @@ $ docker -H logs ... # list nodes in your cluster $ swarm list --discovery etcd:/// -http:// + ``` ###### Using consul @@ -87,7 +91,7 @@ http:// $ swarm join --discovery consul:/// --addr= # start the manager on any machine or your laptop -$ swarm manage --discovery consul:/// -H= +$ swarm manage --discovery consul:/// -H # use the regular docker cli $ docker -H info @@ -98,7 +102,7 @@ $ docker -H logs ... # list nodes in your cluster $ swarm list --discovery consul:/// -http:// + ``` ###### Using zookeeper @@ -110,7 +114,7 @@ http:// $ swarm join --discovery zk://,/ --addr= # start the manager on any machine or your laptop -$ swarm manage --discovery zk://,/ -H= +$ swarm manage --discovery zk://,/ -H # use the regular docker cli $ docker -H info @@ -121,7 +125,7 @@ $ docker -H logs ... # list nodes in your cluster $ swarm list --discovery zk://,/ -http:// + ``` ## Contributing diff --git a/discovery/discovery.go b/discovery/discovery.go index d22ce21996..779acb01ce 100644 --- a/discovery/discovery.go +++ b/discovery/discovery.go @@ -4,7 +4,6 @@ import ( "errors" "fmt" "net/url" - "strings" log "github.com/Sirupsen/logrus" ) @@ -14,9 +13,6 @@ type Node struct { } func NewNode(url string) *Node { - if !strings.Contains(url, "://") { - url = "http://" + url - } return &Node{url: url} } diff --git a/discovery/token/token_test.go b/discovery/token/token_test.go index 9a6a7d7e3c..ade6eca527 100644 --- a/discovery/token/token_test.go +++ b/discovery/token/token_test.go @@ -25,7 +25,7 @@ func TestRegister(t *testing.T) { addrs, err := discovery.Fetch() assert.NoError(t, err) assert.Equal(t, len(addrs), 1) - assert.Equal(t, addrs[0].String(), "http://"+expected) + assert.Equal(t, addrs[0].String(), expected) assert.NoError(t, discovery.Register(expected)) } diff --git a/join.go b/join.go index 5caca2d8e7..1c311b183a 100644 --- a/join.go +++ b/join.go @@ -1,6 +1,7 @@ package main import ( + "strings" "time" log "github.com/Sirupsen/logrus" @@ -19,7 +20,13 @@ func join(c *cli.Context) { log.Fatal(err) } - if err := d.Register(c.String("addr")); err != nil { + addr := c.String("addr") + addrParts := strings.SplitN(addr, ":", 2) + if len(addrParts) != 2 { + log.Fatal("--addr should be of the form ip:port") + } + + if err := d.Register(addr); err != nil { log.Fatal(err) }