具有 swarm 选项的 docker 机器与 运行 docker swarm init 和 join 之间的区别
Difference between docker machine with swarm options and running docker swarm init and join
我试图用 docker swarm 建立一个集群。但是,我有点困惑 docker-具有 swarm 选项的机器与在一台主机上初始化 swarm 管理器并从其他主机作为工作人员加入有何不同。
这是我的问题的示例:
docker-具有 swarm 选项的机器
docker-machine create --driver virtualbox --swarm --swarm-master --virtualbox-hostonly-cidr "10.0.0.1/24" node1
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node2
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node3
加入管理节点作为工作节点
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "10.0.0.1/24" node1
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "10.0.0.1/24" node2
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "10.0.0.1/24" node3
eval $(docker-machine env node1)
docker swarm init
eval $(docker-machine env node2)
docker swarm join --token <token> <node1_IP>
eval $(docker-machine env node3)
docker swarm join --token <token> <node1_IP>
当 SWARM 需要发现key/value 存储设置
时,您使用的第一种方法来自旧 docker 版本
docker-machine create --driver virtualbox --swarm --swarm-master --virtualbox-hostonly-cidr "10.0.0.1/24" node1
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node2
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node3
你使用的第二种方法是Swarm模式
To use Docker in swarm mode, install Docker 1.12.0 or later
这是在 Docker 1.12.0 中引入的。这是您现在应该使用的方法,因为像 docker service
、docker stack
这样的所有新命令都需要 swarm 模式。他们不会在旧的上工作
我试图用 docker swarm 建立一个集群。但是,我有点困惑 docker-具有 swarm 选项的机器与在一台主机上初始化 swarm 管理器并从其他主机作为工作人员加入有何不同。
这是我的问题的示例:
docker-具有 swarm 选项的机器
docker-machine create --driver virtualbox --swarm --swarm-master --virtualbox-hostonly-cidr "10.0.0.1/24" node1
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node2
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node3
加入管理节点作为工作节点
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "10.0.0.1/24" node1
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "10.0.0.1/24" node2
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "10.0.0.1/24" node3
eval $(docker-machine env node1)
docker swarm init
eval $(docker-machine env node2)
docker swarm join --token <token> <node1_IP>
eval $(docker-machine env node3)
docker swarm join --token <token> <node1_IP>
当 SWARM 需要发现key/value 存储设置
时,您使用的第一种方法来自旧 docker 版本docker-machine create --driver virtualbox --swarm --swarm-master --virtualbox-hostonly-cidr "10.0.0.1/24" node1
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node2
docker-machine create --driver virtualbox --swarm --swarm-discovery "token://..." --virtualbox-hostonly-cidr "10.0.0.1/24" node3
你使用的第二种方法是Swarm模式
To use Docker in swarm mode, install Docker 1.12.0 or later
这是在 Docker 1.12.0 中引入的。这是您现在应该使用的方法,因为像 docker service
、docker stack
这样的所有新命令都需要 swarm 模式。他们不会在旧的上工作