This is a short guide on how to configure docker-machine's openstack driver to work with BinaryLane's  OpenStack Compute API.  This guide does not cover how to install or utilise docker-machine in general, please check the product documentation for that.


In this article I will assume you are using bash command-line client to invoke Docker Machine; if you are using Windows Command Prompt some adjustments will be required.


To get started, first we need to set our username, "password" (BinaryLane API key), and authentication endpoint:


export OS_AUTH_URL=https://api.binarylane.com.au/v2.0

export OS_USERNAME=your-binarylane@email.address

export OS_PASSWORD=Your32hexcharacterAPIkey


Next we need to set the tenant ID for the BinaryLane network, and tell docker-machine to use the server's public IP when attempting SSH connection:


export OS_TENANT_ID=binarylane

export OS_NETWORK_ID=public


With those 5 values set, we can now create our docker server. In this example I have used the standard 1024MB memory VPS plan, and Ubuntu 18.04 as the operating system:


docker-machine create \

 --driver openstack \

 --openstack-flavor-id 'vps-1024' \

 --openstack-image-name 'Ubuntu 18.04 LTS (64bit)' \

 docker-test-1


If everything is working correctly, you will then see the following output:


Running pre-create checks...

Creating machine...

(docker-test-1) Creating machine...

Waiting for machine to be running, this may take a few minutes...

Detecting operating system of created instance...

Waiting for SSH to be available...

Detecting the provisioner...

Provisioning with ubuntu(systemd)...

Installing Docker...

Copying certs to the local machine directory...

Copying certs to the remote machine...

Setting Docker configuration on the remote daemon...

Checking connection to Docker...

Docker is up and running!

To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env docker-test-1