Docker swarm创build命令的区别

我一直在关注docker swarm指令 ,来到“启动Swarm manager”部分,在这里我被告知要发出这个命令:

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

有人可以解释一下我之前发布的create命令的区别吗:

docker-machine create -d virtualbox local

在这两种情况下,你似乎都在virtualbox上创build了一些东西 – 是在一个你是一个奴隶,另一个是一个主人吗?

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

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

也许值得一提的是这是创buildDocker Swarm集群的“旧”方式。 如果你来到这个“新鲜”,目前的“最佳实践”是使用Docker Swarm模式(引擎版本1.12及以上)。 本地集成与引擎和方式较less的复杂性/外部依赖性。

更多关于Docker Swarm Mode的信息以及SO(我) 解释这里的区别的答案。