1

我用两台机器设置了 swarm 集群。它按需要工作。我能够根据约束过滤器在所需节点上启动容器。但是,当我尝试从另一个节点中的容器 ping 一个节点中的一个容器时,它会失败。它不认识它。是预期的还是我在设置 swarm 集群时做错了什么?

其他细节

  • 机器 1(10.0.0.4) 作为主机/节点
  • 机器 2(10.0.0.21) 作为节点
  • Swarm 代理是 10.0.0.4:2374(ip :port)

info 命令的输出是:

docker -H tcp://10.0.0.4:2374 info
Containers: 11
strategy: spread
Filters: affinity, health, constraint, port, dependency
Nodes: 2
 machine1: 10.0.0.4:2375
  └ Containers: 6
  └ Reserved CPUs: 0 / 25
  └ Reserved Memory: 0 B / 24.76 GiB    
 machine2: 10.0.0.21:2375
  └ Containers: 5
  └ Reserved CPUs: 0 / 25
  └ Reserved Memory: 0 B / 24.76 GiB
4

3 回答 3

2

覆盖网络是在 Docker 1.9(2015 年 11 月)中引入的。它允许不同节点(主机)中的容器成为同一网络的一部分并进行通信。

于 2016-01-12T06:05:34.127 回答
1

是的,来自文档“Docker Swarm 是 Docker 的本机集群。它将 Docker 主机池转换为单个虚拟主机。” https://docs.docker.com/swarm/

于 2015-05-31T13:10:13.570 回答
1

看起来 docker swarm 更像是管理工具和调度器。我必须使用其他一些工具,如 weave 或 Ambassador 来连接不同主机中的两个容器。无论如何,docker swarm 是一个很好的集群工具,可以帮助我设置我想要的东西。

于 2015-06-01T08:31:04.293 回答