Here at OpenNebula we value Docker a lot, and we believe it’s a wonderful tool for developers, so we want to provide OpenNebula users with the best possible experience when using Docker within OpenNebula.
We have a long Docker-related roadmap ahead of us yet, but we are very satisfied with our first PoC. We have succesfully created a new OpenNebula driver for Docker Machine.
From the Docker Machine page:
Docker Machine lets you create Docker hosts on your computer, on cloud providers, and inside your own data center. It automatically creates hosts, installs Docker on them, then configures the docker client to talk to them. A “machine” is the combination of a Docker host and a configured client.
For a more visual representation of how Docker Machine works, with a single Docker client, you can deploy Docker containers in multiple providers:
The integration with OpenNebula is extraordinary simple and easy to use for the users, take a look at this quick demonstration that launches a new Docker Machine using OpenNebula as the backend provider. Notice how it’s completely seamless and transparent to the user:
This allows you to experience the best of both worlds, by using Docker with OpenNebula developers will Docker transparently, but OpenNebula admins will control where these VMs are executed.
Do you want to try it out? Very easy, simply clone this repo:
And build it:
And you will have your binary in the bin directory.
We are working very hard to include this new driver upstream, so you can use OpenNebula with the official Docker Machine distribution.
However, this is just the tip of the iceberg! our next step is to build flows for OpenNebula OneFlow for the on-demand elastic execution of a Docker cluster management system, use OneFlow to orchestrate images which contain Docker and the cluster manager. We intend to integrate OneFlow both with Docker Swarm and Google Kubernetes.
And finally all of this will happen in parallel while adding support to LXC drivers for OpenNebula.
We will keep you posted with our progress!