Machine: Use Docker Machine to connect to existing Docker Swarm

Created on 17 Jul 2016  路  10Comments  路  Source: docker/machine

I provisioned a Docker Swarm cluster using a cloud provider's template, but need to use docker locally to deploy containers to the Swarm cluster. How do I use docker-machine to connect to an existing Docker Swarm cluster?

At this point, I have the following:

  • A DNS name / public IPv4 address for the Swarm Master's load balancer
  • A public / private key pair

So, how do I use this information to connect to an existing Swarm cluster? There has been quite a bit of somewhat similar discussion to this, but I can't find anything conclusive. Any pointers?

https://github.com/docker/machine/issues/1221
https://github.com/docker/machine/issues/1357
https://github.com/docker/machine/issues/3212

Cheers,
Trevor Sullivan
Microsoft MVP: Cloud & Data Center Management
Docker Captain
https://trevorsullivan.net
https://twitter.com/pcgeek86

Most helpful comment

@thaJeztah @AkihiroSuda @albers @tianon

Sorry to directly @ you guys, but this is really a very common and critical feature, I had struggled with this more than one and half year ago, now come back find nothing have been changed...

All 10 comments

@pcgeek86 or anyone else - any workarounds?

@bloo I tried doing this with the generic driver buy what you end up with is less than useful. I suspect it just needs adding properly to docker-machine before it's a feasible option.

I think that most of the docs I found on the internets is outdated. So it is very difficult to find a way to make this work.

I'd like to to know the answer too. I've tried looking around and manually fiddling with the machine json files without any luck.
Seems like it would be a common use case.

@thaJeztah @AkihiroSuda @albers @tianon

Sorry to directly @ you guys, but this is really a very common and critical feature, I had struggled with this more than one and half year ago, now come back find nothing have been changed...

Seems this has been there for a while, may anyone from docker-machine can review this and vote in your sprint planning meeting? really want to know is this going to be a feature or not?

Given recent reports of a greater focus on Kubernetes[1][2] for the EE Docker offering, I doubt this will see traction. Swarm will likely fall by the wayside.

My point is, we should all start looking elsewhere (from Swarm) for container orchestration now if we haven't already. K8s may be a good place to start.

[1] https://techcrunch.com/2017/10/17/docker-gives-into-invevitable-and-offers-native-kubernetes-support/
[2] https://sysdig.com/blog/sysdig-docker-usage-report-2017/

@kevin-wang-cy at Docker, we're not currently adding new features to docker-machine (although we're still keeping it up-to-date as new Docker versions come out). For setting up Docker hosts, we recommend using Docker for Mac and Windows, or the Docker packages on Docker Store: https://store.docker.com/

If someone is interested in contributing this feature to docker-machine, feel free to send a pull request.

@hamid-elaosta Docker remains committed to Swarm, and even as we're adding Kubernetes support, Swarm is a critical component of our product:

While we鈥檙e adding Kubernetes as an orchestration option in Docker, we remain committed to Swarm and our customers and users that rely on Swarm and Docker for running critical apps at scale in production.

- https://blog.docker.com/2017/10/kubernetes-docker-platform-and-moby-project/

I've just found myself in the same situation. Any workarounds?

For anyone still thinking about docker-machine; my position since my previous comment in 2017; Use Kubernetes.

Kubernetes has become much more practical of late, particularly with k3s from Rancher Labs, you can have a simple cluster in a matter of a few minutes.

Was this page helpful?
0 / 5 - 0 ratings