Docker Machine is one of the new tools that Docker has released. It helps provision machines on a variety of cloud hosting providers and installs Docker with some basic security. The command line interface is pretty simple.

For instance, I use DigitalOcean as my hosting provider and get a personal access token. Then all I need to do is to run the following command to provision a machine:

docker-machine create --driver digitalocean --digitalocean-access-token $DIGITALOCEAN_API_TOKEN machine_name

where $DIGITALOCEAN_API_TOKEN is my access token and machine_name is a random name for my machine. After waiting a minute or so, I can run one command and have an ElasticSearch instance using the Docker Hub ElasticSearch repository:

docker $(docker-machine config machine_name) run -d -p 9200:9200 elasticsearch

Pretty awesome.