docker群与领事 – 经理不select主要

我试图在3台专用电脑上安装HA docker集群。 我已经成功按照docs.docker.com/engine/installation/linux/ubuntulinux上的说明进行操作,现在我正在尝试按照https://docs.docker.com/swarm/install-manual上的说明进行操作。 由于我没有使用任何虚拟化,我从“设置consul发现后端”开始。 个人电脑(运行Ubuntu的可靠14.04服务器版)都在局域网192.168.2.0/24。 ubuntu001有.104,ubuntu002有.106,ubuntu003有.105

我按照说明做了以下工作:

arnolde@ubuntu001:~$ docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap arnolde@ubuntu001:~$ docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.2.104:4000 consul://192.168.2.104 arnolde@ubuntu002:~# docker run -d swarm manage -H :4000 --replication --advertise 192.168.2.106:4000 consul://192.168.2.104:8500 arnolde@ubuntu003:~$ docker run -d swarm join --advertise=192.168.2.105:2375 consul://192.168.2.104:8500 

但是,在下一步尝试时,swarm manager不会像它所说的那样显示为“Primary”,也不会列出主要的:

 arnolde@ubuntu001:~$ docker -H :4000 info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: swarm/1.1.0 Role: replica Primary: Strategy: spread Filters: health, port, dependency, affinity, constraint Nodes: 0 Plugins: Volume: Network: Kernel Version: 3.19.0-25-generic Operating System: linux Architecture: amd64 CPUs: 0 Total Memory: 0 B 

和:arnolde @ ubuntu001:〜$ docker -H:4000运行hello-world docker:来自守护进程的错误响应:没有选定的主集群pipe理器。

我search并findhttps://github.com/docker/swarm/issues/1491build议使用dockerswarm / swarm:master来代替,但我没有做到,但是没有帮助:

 arnolde@ubuntu001:~$ docker run -d -p 4000:4000 dockerswarm/swarm:master manage -H :4000 --replication --advertise 192.168.2.104:4000 consul://192.168.2.104 

我没有发现任何关于swarm + consul + primary的其他意见,所以在这里我是…任何build议? 不幸的是,我不知道如何排除故障,因为我甚至不知道在哪里寻找日志/debugging信息,即如果经理正在连接到领事成功等…

在明确地将端口号添加到consul://参数后,我能够自己解决这个问题,显然这个docker文档是不完整的:

 arnolde@ubuntu001:~$ docker run -d -p 4000:4000 dockerswarm/swarm:master manage -H :4000 --replication --advertise 192.168.2.104:4000 consul://192.168.2.104:8500 arnolde@ubuntu001:~$ docker -H :4000 info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: swarm/1.1.0 Role: replica Primary: 192.168.2.106:4000 

另外,我在副本pipe理器(在ubuntu002)上添加了“-p 4000:4000”。 不知道这是否是必要的(甚至是一个好主意)。

我的朋友们,第一步你应该编辑docker启动守护进程configuration写监听端口的任何其他configuration,我的环境是centos7,所以我的守护进程configuration在/ usr / lib / docker / ….编辑“ExecStart = / usr / bin / docker守护进程-H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock –cluster-store = consul://192.168.1.102: 8500 –cluster-advertise = 192.168.1.103:0“每个节点。 第二步:“docker run -d -p 8500:8500 –name = consul progrium / consul -server -bootstrap”了…