2016-11-07 71 views
0

我一直在关注的docker swarm instructions,来到这里,我告诉发出此命令的“启动群经理”部分:多克群创建命令差异

docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery token://2144765674e460fbd53cf4bfcfb59207 swarm-master

有人能解释的区别这间可以create命令我早些时候发布:

docker-machine create -d virtualbox local

在这两种情况下,你似乎是建立在VirtualBox的东西 - 它是在上你是在做一个奴隶,而另一个是主人?

回答

1

第一个命令创建一个新的virtualbox虚拟机。然后,您需要运行docker run swarm create命令以使用Docker的集中托管的Swarm发现服务生成发现令牌。其他节点(包括经理)全部使用此唯一标记链接在一起。

第二个命令实际上是创建Swarm管理器机器。第一台机器(local)实际上并没有做任何事情(除了运行容器来生成令牌)iirc,所以在生成并保存之后,您可能会终止该机器。也没有理由不能在本地Docker安装(如果有的话)上生成(使用docker run swarm create),并且完全跳过创建local VM。

也可能值得一提的是,这是创建Docker Swarm集群的“旧”方式。如果你来到这个'新鲜',目前的'最佳实践'是使用Docker Swarm模式(引擎版本1.12及以上)。本地集成在引擎中,并且复杂程度更低/外部依赖性更强。

有关Docker Swarm Mode here的更多信息和对SO(我)的回答explaining the differences here