将docker-compose部署到swarm

我有一个docker-compose.yml文件,如果我运行docker swarm init,我可以:

$ docker stack deploy --compose-file=docker-compose.yml example 

而且一切正常。

我虽然认为我不能使用docker stack deploy部署到一个群体我的主机不属于。

所以我开始了几个Virtualbox实例:

 $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS manager - virtualbox Running tcp://192.168.99.102:2376 v17.05.0-ce worker1 - virtualbox Running tcp://192.168.99.100:2376 v17.05.0-ce worker2 - virtualbox Running tcp://192.168.99.101:2376 v17.05.0-ce 

我已经join了工人的经理。

 $ docker-machine ssh worker1 "docker swarm join --token=${worker_token} --listen-addr $(docker-machine ip worker1) --advertise-addr $(docker-machine ip worker1) $(docker-machine ip manager)" $ docker-machine ssh worker2 "docker swarm join --token=${worker_token} --listen-addr $(docker-machine ip worker2) --advertise-addr $(docker-machine ip worker2) $(docker-machine ip manager)" 

我想知道我的主机是否可以join群集,运行堆栈部署并离开它?

尝试join失败。

 Error response from daemon: can't initialize raft node: rpc error: code = 2 desc = could not connect to prospective new cluster member using its advertised address: rpc error: code = 4 desc = context deadline exceeded 

所以我的问题是,我怎么能部署我的docker-compose栈到我不属于的群? 复制文件和运行堆栈部署真的有办法吗?

这似乎是我有最好的答案:

 $ docker-machine scp docker-compose.yml manager:~/ $ docker-machine ssh manager docker stack deploy --compose-file=docker-compose.yml example