加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

docker swarm init无法选择IP地址错误

发布时间:2020-12-16 03:54:37 所属栏目:安全 来源:网络整理
导读:尝试使用Docker Swarm,我这样做了: docker-machine create -d virtualbox node-1docker-machine create -d virtualbox node-2docker-machine create -d virtualbox node-3eval $(docker-machine env node-1)docker swarm init --secret my-secret --aut

尝试使用Docker Swarm,我这样做了:

docker-machine create -d virtualbox node-1
docker-machine create -d virtualbox node-2
docker-machine create -d virtualbox node-3

eval $(docker-machine env node-1)

docker swarm init 
    --secret my-secret 
    --auto-accept worker 
    --listen-addr $(docker-machine ip node-1):2377

最后一个命令(docker swarm init)返回此错误,这在Google上无处可寻:

Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses

我不知道是怎么回事.任何人都知道如何调试?谢谢!

最佳答案
更新2017-05-24:

先前的答案是针对群模式的早期状态.此后删除了secret和auto-accept选项,并添加了advertise-addr选项.现在可以通过以下方式完成:

docker swarm init 
  --advertise-addr $(docker-machine ip node-1)

端口默认为2377.您还可以使用网络接口名称而不是IP地址,swarm将在该接口上查找IP地址.侦听器地址仍然是一个选项,但默认是侦听所有通常是首选解决方案的接口.

原始答案:

我还没有用docker-machine做过这个,但我知道新的swarm对/ etc / hosts中的条目非常敏感.确保您的IP和主机名在该文件中,并且只在一个地方(不会映射到环回或任何其他内部地址).从RC3开始,它们也使用广告地址的侦听器地址,因此请确保swarm中的所有节点都可以引用此主机名或ip(非常确定即将发生修复,如果还没有这样).

为了最大限度地降低客户端和服务器版本之间出现问题的风险,我还将直接在虚拟机内部运行命令,而不是使用docker-machine环境变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读