如何在swarmpipe理器所在的机器上运行docker swarm节点?

我一直在按照这些说明在我的Ubuntu机器上build立一个docker swarm。 我想在运行swarmpipe理器的同一台机器上运行一些swarm节点,但节点的状态为“Pending”,出现错误“无法连接到docker引擎端点”。

这些是我为build立系统而运行的命令:

docker run -d --name consul -p 8500:8500 progrium/consul -server -bootstrap docker run --name manager -d -p 4000:4000 swarm manage -H :4000 --advertise 192.168.1.18:4000 consul://192.168.1.18:8500 docker run -d -p 6300:2375 swarm join --advertise=192.168.1.18:6300 consul://192.168.1.18:8500 

我注意到的一件事是该节点不绑定到一个端口:

 $ nmap localhost Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-02 15:06 EST Nmap scan report for localhost (127.0.0.1) Host is up (0.00054s latency). Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 996 closed ports PORT STATE SERVICE 4000/tcp open remoteanything 8500/tcp open fmtp 

以下是Docker信息的输出:

 $ docker -H :4000 info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: swarm/1.1.2 Role: primary Strategy: spread Filters: health, port, dependency, affinity, constraint Nodes: 1 (unknown): 192.168.1.18:6300 └ Status: Pending └ Containers: 0 └ Reserved CPUs: 0 / 0 └ Reserved Memory: 0 B / 0 B └ Labels: └ Error: Cannot connect to the docker engine endpoint └ UpdatedAt: 2016-03-02T18:44:38Z Plugins: Volume: Network: Kernel Version: 4.2.0-30-generic Operating System: linux Architecture: amd64 CPUs: 0 Total Memory: 0 B Name: 739dc6a5c721 

任何帮助将不胜感激!

按照这些说明,现在看起来事情正在进行。 总结一下,在主机上你应该编辑/etc/default/docker来包含下面一行:

 DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" 

你应该重新启动docker:

 sudo restart docker 

我遇到了这个问题,因为安装程序会自动启动Docker引擎(至less在Ubuntu上)。 这会导致指令3.3( sudo docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock )失败,因为它已经在运行。