Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用progrium/docker领事时发生i/o超时错误_Amazon Web Services_Docker_Consul - Fatal编程技术网

Amazon web services 使用progrium/docker领事时发生i/o超时错误

Amazon web services 使用progrium/docker领事时发生i/o超时错误,amazon-web-services,docker,consul,Amazon Web Services,Docker,Consul,我正在尝试在AWS上设置一个生产就绪群集,该群集使用映像在每个主机上安装concur,但无法使辅助服务器和第三服务器加入初始服务器 我已经按照说明进行了操作,但是当我的consul2和consul3节点尝试-加入consul1私有IP时,我收到了一个I/o超时错误。 实例 我在AWS上启动了三个t2.micros,并在我的VPC中分配了以下私有IP: 172.31.4.194 (Intended to be `consul1`, leader) 172.31.4.195 (Intended

我正在尝试在AWS上设置一个生产就绪群集,该群集使用映像在每个主机上安装
concur
,但无法使辅助服务器和第三服务器加入初始服务器

我已经按照说明进行了操作,但是当我的
consul2
consul3
节点尝试
-加入
consul1
私有IP时,我收到了一个
I/o超时
错误。

实例

我在AWS上启动了三个
t2.micros
,并在我的VPC中分配了以下私有IP:

172.31.4.194 (Intended to be `consul1`, leader)
172.31.4.195 (Intended to be `consul2`)
172.31.4.193 (Intended to be `consul3`)


启动初始Consor服务器实例

我的
consul1
节点自己站起来,等待另外两个:

sudo docker run -d -h consul1 --name consul1 -v /mnt:/data \
    -p 172.31.4.194:8300:8300 \
    -p 172.31.4.194:8301:8301 \
    -p 172.31.4.194:8301:8301/udp \
    -p 172.31.4.194:8302:8302 \
    -p 172.31.4.194:8302:8302/udp \
    -p 172.31.4.194:8400:8400 \
    -p 172.31.4.194:8500:8500 \
    -p 172.17.42.1:53:53/udp \
    progrium/consul -server -advertise 172.31.4.194-bootstrap-expect 3


试图
运行第二个服务器实例

但是,当我尝试启动我的
consult2
节点时,请使用以下命令:

sudo docker run -d -h consul2 --name consul2 -v /mnt:/data \
    -p 172.31.4.195:8300:8300 \
    -p 172.31.4.195:8301:8301 \
    -p 172.31.4.195:8301:8301/udp \
    -p 172.31.4.195:8302:8302 \
    -p 172.31.4.195:8302:8302/udp \
    -p 172.31.4.195:8400:8400 \
    -p 172.31.4.195:8500:8500 \
    -p 172.17.42.1:53:53/udp \
    progrium/consul -server -advertise 172.31.4.195 -join 172.31.4.194


错误

下面是我得到的错误:

==> WARNING: It is highly recommended to set GOMAXPROCS higher than 1
==> Starting raft data migration...
==> Starting Consul agent...
==> Starting Consul agent RPC...
==> Joining cluster...
==> dial tcp 172.31.4.194:8301: i/o timeout


你知道这是什么原因吗?我已经尝试了九次了,但仍然没有成功。它确实促使我对网络做了更多的学习(这是一个广泛、深入、有趣的主题),但我不知道我的配置中是否有问题,或者这是一个真正的bug


提前感谢您的帮助。

问题已解决

原来我忘了打开
concur
需要在管理实例访问的安全组中使用的端口

打开了
8300
8301
8302
8400
、和
8500
,所有安装都很好。

替代设置(即)是使用docker主机网络(-net=host);这样,您就不需要进行docker容器端口映射,而且它应该运行得更快。当然,您仍然需要防火墙来打开端口。