Docker Swarm创build真正的集群:Registered和Removed
我最近和Docker一起玩,刚刚发现了Swarm。 在我的情况下,我有两个主机( 熨斗 )与Ubuntu的docker安装和一台笔记本电脑( OSX )
- host1 docker-node(212.xx1)
- host2 docker-node(212.xx2)
- 笔记本电脑docker-cli + swarm
我试图创build一个集群与两个docker节点,所以,在笔记本电脑:
$ swarm create TOKEN_ID $ swarn join token://TOKEN_ID --addr=212.xx1 INFO[0000] Registering on the discovery service every 20s... addr=212.xx1:2375 discovery=token://TOKEN_ID Ctrl+C $ swarn join token://TOKEN_ID --addr=212.xx2 INFO[0000] Registering on the discovery service every 20s... addr=212.xx2:2375 discovery=token://TOKEN_ID Ctrl+C
然后,我也在笔记本电脑中创build了swarm-manager ,来pipe理集群:
$ swarm manage token://TOKEN_ID --host=0.0.0.0:4243
如果我立即列出他们出现的节点:
$ swarm list token://TOKEN_ID 212.xx1 212.xx2
但一分钟之后,他们根本没有出现:
$ swarm list token://TOKEN_ID $
如果我尝试在群集中安装任何容器,它会说:
$ docker -H 0.0.0.0:4243 run -dP nginx ERRO[0067] HTTP error: No healthy node available in the cluster status=500 Error response from daemon: No healthy node available in the cluster
请注意,如果我使用-debug选项运行swarm ,它会说明以下内容:
INFO[0002] Registered Engine 212.xx1:2375 (after about a minute) INFO[0041] Removed Engine 212.xx1:2375
任何关于在这里会发生什么的线索? 先谢谢你。
正如Alexandre Beslic(@abronan)在IRC上对我说的那样,“节点通过swarm join
命令(在日志中你应该看到”节点每隔XXX秒注册一次“)对发现服务心存疑虑,如果节点没有参与该簇将被删除,因为它被附加到一个TTL值(如果这个值降到0,则删除该条目)“。 所以,问题解决了。
- Docker在32位操作系统上不受支持
- 如何在docker中用新映像修补现有的图像?
- 无法连接到泊坞窗的泊坞窗图像中的守护程序泊坞窗
- 在Linux上的Azure Web应用程序中运行dotnet核心docker映像时没有find可执行的匹配命令“dotnet – / .. /。dll”
- 温斯顿logging器 – 是否有可能loggingclosures的应用程序
- 尝试安装mysql php扩展时,Docker运行命令失败
- 在Docker虚拟机上运行并在本地主机上运行的服务如何dynamic注册到EUREKA?
- 在Elastic Beanstalk / Docker Nginx / PHP-FPM实例中访问客户端IP
- 在Docker Swarm中创build一个networking